我正在使用redux-saga并使用expect进行测试。根据(惊人的)React Boilerplate中给出的示例,测试从 Store 获取所需数据的 saga(使用选择器)是没有问题的。
但是,我的一些 sagas 依赖于已调度操作中包含的数据:
export function* startSaga() {
while (true) {
const startAction = yield take(START);
const id = startAction.id || false;
...
为了测试这一点,我正在导入 saga,然后调用它:
import { startSaga } from '../sagas.js';
startGenerator = startSaga();
...
正因为如此,没有任何动作可以启动 saga,所以 的值id
总是为假的。
我的动作和减速器是分开测试的:当像这样以独立的方式测试 sagas 时,有没有一种简单的方法可以让它工作?