我有一个使用React Navigation
的组件在ComponentA将呼叫
oncallback = () => { this.setstate({called: true})};
navigation.navigate('ComponentB', {callBack:this.oncallback})
在ComponentB上,它有时会调用
this.props.navigation.getParam('callback')();
我在测试中尝试了以下内容
const oncallbackMock = jest.fn();
const navigationMock: any = {
navigate: jest.fn(),
getParam: jest.fn().mockReturnValue(oncallbackMock),
};
const wrapper = shallow(<ComponentA navigation={navigationMock} />);
oncallbackMock(); // doesn't seem to call ComponentA's oncallback to set state?
expect(wrapper.state('called')).toEqual(true); // assert failed, it is false