Jest - 测试 eventChannel Redux-saga

Say*_*chi 5 javascript jestjs redux-saga redux-saga-test-plan

我有一个带有 2 个函数的 sagas 文件,一个是 saga 本身,另一个是我的 saga 调用的函数,它使用 fromeventChannelredux-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函数本身。

提前致谢