2017-08-23 138 views
0

我想测试我的传奇我能够测试单个传奇通话传奇产量观察家并行调用,但我怎么能使用开玩笑测试我的守望者传奇如何测试开玩笑

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

一些身体帮我如何使用笑话(uisng发生器功能)来测试并行调用

+0

@Osmel莫拉你能帮助我这个 – kumar

+0

我包裹在阵列中'all'效果然后测试在所有的效果是屈服。除此之外,测试这些任务确实并行运行实际上是测试你不需要做的事情的redux-saga lib功能。 –

+0

您可以在您的测试中检查数组中的所有效果都是'fork'类型(这是takeLatest返回的),以确保没有人在其中放置任何其他效果。 –

回答

0

你可以这样测试:

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

需要这么长时间来执行测试超过15分钟 – kumar