2017-04-20 11 views
1

選択効果をテストするにはどうすればよいですか?私のサガは選択の結果に依存しますが、たびに私はサガからundefinedを取得しています。Redux Sagaテスト選択効果

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

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

}); 

が、結果はfoo is : undefined次のとおりです。テストで

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

    console.log('foo is :', foo); 
} 

:私のサガで

:ここ

は、私が試したものです。どのようにデータをデフォルトの状態にするのですか?これを行うより良い方法はありますか?

+0

このアプローチを試してみてください、それは=定数ジェネレータ 'のようにすべきではありません...。 generator.next();/* < - これは選択エフェクト記述子です*/generator.next( 'bar');/* < - これはあなたが解釈しているrunnig select effect */'ですか? –

+0

これは正しいです!これを回答として投稿できますか?ありがとうございました – Adam

答えて

1

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 

});