样式化的TouchableOpacity不会使用onPress道具进行渲染,因此无法在Jest中模拟按下事件以及如何在onPress事件中调用方法。
<TouchableOpacity
testID={'NextBtn'}
onPress={() => {
this._submit();
}}>
<Text>Submit</Text>
</TouchableOpacity>
测试课程
it("onSubmit", () => {
let wrapper = mount(<Login />);
const buttonPress = wrapper.find('TouchableOpacity')
.findWhere((node) => {
if (node.prop('testID') === 'NextBtn') {
console.log('CtestID', node.prop('testID'))
}
})
.first();
except(buttonPress).toHaveBeenCalled();
});