2
경고 메서드가 호출되고 있음을 테스트하기 위해 경고를 조롱 할 수는 있지만 실제로 테스트하려면 경고 내의 확인 단추를 누르는 것이 좋습니다.알리미에서 '온 프레스'를 어떻게 조롱 하시겠습니까?
import { Alert } from 'react-native';
it('Mocking Alert',() => {
jest.mock('Alert',() => {
return {
alert: jest.fn()
}
};
});
const spy = jest.spyOn(Alert, 'alert');
const wrapper = shallow(<Search />);
wrapper.findWhere(n => n.props().title == 'Submit').simulate('Press');
expect(spy).toHaveBeenCalled(); //passes
})
저는 어떻게 테스트 할 지 확신이 없습니다. 다음은 테스트하려는 항목과 함께 일반적인 구성 요소입니다.
export default class Search extends Component{
state = {
someState: false
}
confirmSubmit(){
this.setState(state => ({someState: !state.someState}))
}
onPress =() => {
Alert.alert(
'Confirm',
'Are you sure?'
[{text: 'Ok', onPress: this.confirmSubmit}] //<-- want to test this
)
}
render(){
return(
<View>
<Button title='Submit' onPress={this.onPress}
</View>
)
}
}
누구도 이것을 시도한 적이 있습니까?
죄송합니다. 제 질문에 포함시켜야합니다. 그것은 본질적으로 제가 이미하고있는 것입니다. 테스트에서 Alert를 가져 왔습니다. 가 무엇을 테스트 할 것은 경고 방법 '경계 태세 ( '확인', 는 '? 확인을 있습니까' 내 onPress에있다 [{텍스트 : '확인', onPress에 : this.confirmSubmit}]// <- - 이것을 시험해보고 싶습니다. )' –
귀하의 실제적인 질문을 반영하도록 답변을 업데이트했습니다. –