Say*_*chi 5 javascript jestjs redux-saga redux-saga-test-plan
我有一个带有 2 个函数的 sagas 文件,一个是 saga 本身,另一个是我的 saga 调用的函数,它使用 fromeventChannel库redux-saga。
export const hardwareBackChannel = () => eventChannel((emit): {} => {
BackHandler.addEventListener('hardwarePress', () => {
emit(true);
return true;
});
return (): * => {
BackHandler.removeEventListener();
};
});
export function* handleBackButtonEvent() {
yield put(hardwareBackChannel());
}
Run Code Online (Sandbox Code Playgroud)
我能够handleBackButtonEvent成功地测试我的:
describe('handleBackButtonEvent', () => {
it('should call back button pressed action', () => {
testSaga(handleBackButtonEvent)
.next()
.put(
hardwareBackChannel(),
);
});
});
Run Code Online (Sandbox Code Playgroud)
但我无法弄清楚如何hardwareBackChannel使用testSaga. 有没有办法做到这一点?如果没有,我如何才能在测试中覆盖这部分代码?
我一整天都在尝试搜索,但我发现的只是带有测试我的传奇的方法的线程,而不是我的hardwareBackChannel函数本身。
提前致谢