私は、叙事詩をテストするためにdocumentationの手順に従っています。Redux-observable:叙事詩の冗談テストに失敗しました
...
store.dispatch({ type: FETCH_USER });
expect(store.getActions()).toEqual([
{ type: FETCH_USER },
{ type: FETCH_USER_FULFILLED, payload }
]);
...
しかし、後で次のように2番目の処理が行われたために失敗しました。
Test failed
Expected value to equal:
[{"type": "FETCH_USER"}, {"type": "FETCH_USER_FULFILLED", "payload": [some]}]
Received:
[{"type": "FETCH_USER"}]
Difference:
- Expected
+ Received
@@ -1,20 +1,5 @@
Array [
Object {"type": "FETCH_USER"},
Object {"type": "FETCH_USER_FULFILLED", "payload": [some]} ] // this is what should be.
私は、発送がいつ終了したか、またはそのようなことを知っておくべきだと思います。 どうすればこの問題を解決できますか?
私はここで
は私の叙事詩である)フェッチ()、代わりにajax.getJSONのRx.Observable.fromPromise(使用。
const fetchUserEpic = (action$) =>
action$
.ofType(FETCH_USER)
.mergeMap(() => {
return Rx.Observable.fromPromise(api.fetchUser())
.map((users) => ({
type: FETCH_USER_FULFILLED,
payload: { users }
}))
.catch((error) => Rx.Observable.of({
type: FETCH_USER_ERROR,
payload: { error }
}))
.takeUntil(action$.ofType(FETCH_USER_CANCELLED))
})
私は解決策が正しいことを参照してください。私は「TypeError:プロパティの '_location' of null」を読み取ることができませんが、問題の外です。 – Oscar
私は数時間この頭を叩いていました...これを試して、 "toArrayは関数ではありません"というエラーを出しました。 –
ok、インポート 'rxjs/add/operator/toArray'を追加して解決しました... –