Jestjs 如何测试saga产量观察者的并行调用

Jestjs 如何测试saga产量观察者的并行调用,jestjs,redux-saga,saga,redux-saga-test-plan,Jestjs,Redux Saga,Saga,Redux Saga Test Plan,我想测试我的传奇故事我可以测试单个传奇故事,但如何使用笑话测试我的观察者传奇故事 export default function* saga() { yield [ takeLatest(dataTypeActions.ACTION1, fetchDataType), takeLatest(sourceActions.ACTION2, fetchFromSource), takeLatest(targetActions.ACTION3, fetchFromTarget

我想测试我的传奇故事我可以测试单个传奇故事,但如何使用笑话测试我的观察者传奇故事

export default function* saga() {
  yield [
    takeLatest(dataTypeActions.ACTION1, fetchDataType),
    takeLatest(sourceActions.ACTION2, fetchFromSource),
    takeLatest(targetActions.ACTION3, fetchFromTarget),
  ];
}

有人会帮我解决如何使用jest(uisng生成器函数)测试并行调用的问题。

您可以这样测试:

it('watches several actions...', () => {
  const generator = yourSaga();
  expect(generator.next().value).toEqual([
    takeLatest(dataTypeActions.ACTION1, fetchDataType),
    takeLatest(sourceActions.ACTION2, fetchFromSource),
    takeLatest(targetActions.ACTION3, fetchFromTarget),
  ]);
});

@Osmel Mora你能帮我吗?我将数组包装成
all
effect,然后测试是否产生了all效果。除此之外,测试任务是否确实并行运行实际上是测试redux saga lib功能,这是您不需要做的。您可以在测试中检查数组中的所有效果是否为
fork
(这是TakeLast返回的结果)“为了确保没有人在这方面施加任何其他影响。@MartinKadlec你能提供一些例子吗?也许是这样的@Kumart花费如此长的时间执行测试,时间超过15分钟