我正在使用redux-saga并使用expect进行测试 . 基于(惊人的)React Boilerplate中给出的示例,测试从存储(使用选择器)获取所需数据的传奇是没有问题的 .
但是,我的一些传奇依赖于派遣行动中包含的数据:
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
的值总是假的 .
我的动作和减速器是分开测试的:当以这样的独立方式测试传奇时,是否有一种简单的方法可以使其工作?
1 回答
运行saga生成器函数时,您可以控制每次
yield
传回的数据: