Redux saga测试选择效果

Ada*_*dam 2 saga reactjs redux redux-saga react-redux

如何测试选择效果?我的传奇取决于选择的结果,但是每次我都只是undefined从传奇中获得。

这是我尝试过的:

在我的传奇中:

function* loadData() {
    const foo = yield select((state) => {
        return state.foo.value;
    });

    console.log('foo is :', foo);
}
Run Code Online (Sandbox Code Playgroud)

在测试中:

test.only('Data saga', t => {

    const generator = loadData();
    console.log(generator.next({foo: 'blah'}).value);
    console.log(generator.next());

});
Run Code Online (Sandbox Code Playgroud)

但结果是foo is : undefined。我如何将数据传递到默认状态?有更好的方法吗?

Yur*_*nko 5

试试这个方法

test.only('Data saga', t => {

    const iterator = loadData();

    const selectFooValue = iterator.next(); // <-- this is effect descriptor

    // here you assert about selectFooValue

    const nextStep = iterator.next('bar'); // <-- this how you "running" select effect  

    // here you assert about nextStep

});
Run Code Online (Sandbox Code Playgroud)