如何解决自定义英雄传奇不会在玩笑中触发
我有一个功能组件,该组件具有调度自定义动作的功能。我还注册了一个自定义的传奇,以监听该自定义动作的调度。现在,我想在Jest的帮助下测试此组件。
在我的测试用例中,安装了组件后,该函数将调度自定义操作,并出现问题:自定义saga没有触发。
您对此问题有解决方案吗?
// MyComponent.js
export default myComponent = props => {
const myFunction = () => {
// dispatches Custom Action
myAction(()=>{
console.log('foo');
});
}
return (<button data-test="btn" onClick={myFunction}>Click Me</button>)
}
// Action.js
const myAction = (callback) => {
return {
type: FIND_ONE,callback
};
}
// customSaga.js
function* mySaga({ callback }) {
try {
//...
callback();
} catch (error) {
//...
}
}
export default function* customSaga() {
yield takeEvery(FIND_ONE,mySaga);
}
// Component.test.js
describe('`myComponent`',() => {
const wrapper = mount(
<TestContext>
<MyComponent />
</TestContext>,);
test('Run myFunction',() => {
const button = wrapper.find(`[data-test="btn"]`);
button.simulate('click');
});
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。