问题描述
我有一个功能组件,该组件具有调度自定义动作的功能。我还注册了一个自定义的传奇,以监听该自定义动作的调度。现在,我想在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 (将#修改为@)