私のテストでは、Observable.of()
を使用してイベントストリームをモックしようとしていますが、
_const actions$ = Observable.of({});
...
// in the function that is tested
actions$
.filter(action => action.type === 'LOAD_REQUEST')
.first()
.subscribe(() => { ... do something });
_
次のエラーが表示されます
EmptyError:xxx.jsの要素が順番にありません
これは、.first()
を使用した場合にのみ発生します。
テストが失敗しないようにイベントストリームをモックするにはどうすればよいですか?
first()
のドキュメントはこう言っています:
次の通知が送信される前にObservableが完了した場合は、ObserverのエラーコールバックにEmptyErrorを配信します。
したがって、テストデータがfilter()
演算子を渡さず、すぐに完了を送信するため、エラーが発生します。