当子组件的回调返回父组件时,我想测试回调。 在父SearchResult2组件处声明如下,以调用ResultTable子组件:
SearchResult2.js
return (
<ResultTable
handlerClick={result => this.callbackHandlerFunction(result)}
searchResultData={listAddRessSearch}
saveFilterSearchResultByRightTable={
this.props.saveFilterSearchResultByRightTable
}
/>
)
SearchResult2包含子ResultTable。 我只想测试它以测试回调 handlerClick = {result => this.callbackHandlerFunction(结果)}
所以我咨询了stackoverflow并尝试编写UT代码 链接:How test callback click in child component that was passed from parent component?
在这里,我使用Jest进行UT测试。 UT代码测试上述回调
SearchResult2.test.js
it('should invoke the callbackHandlerFunction callback', () => {
store.dispatch = jest.fn();
let wrapper = shallow(<SearchResult2 store={store} {...props} />);
let mockFn = jest.fn();
wrapper
.dive()
.dive()
.instance().callbackHandlerFunction = mockFn;
wrapper
.find('ResultTable')
.props()
.handlerClick();
expect(mockFn).toHaveBeenCalledTimes(1);});
但是出现以下错误
谢谢。