問題タブ [rxjs-marbles]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angular - Angular - ペアワイズ演算子で Observable をテストする
私はAngularを使用しており、jasmine-marblesを使用してユニットテストをしばらく書いています。これは私が理解できないように見えるシナリオです。をどのようにテストしdetermineNextSteps$
ますか? ジャスミン大理石を使用する以外に、これをテストするための他のソリューションも受け入れています。
例:
現在の試行:
rxjs-marbles - marbel testing でテストケースを書くことができない
この関数を作成したのは、アプリケーションが を使用して送信するすべての要求に対してhttp.post
、これがさまざまな部分が応答を処理する方法だからです。そこで、コードを複製するのではなく、関数を作成することを考えました。エラーハンドリングをシミュレートしたいので、 を使おうと思いますmarbel testing
。テスト ケースemits
にエラー メッセージが表示されることはわかりますが、テストはまだ失敗します。私は何を間違っていますか
これまでに書いたテストは
しかし、それはエラーになりますExpected spy next to have been called with [ Result({ result: 'error', additionalInfo: 'Error code: 304. not found. error: reason for error' }) ] but it was never called.
エラー値が受信されたことをコード トレースで確認できます。
rxjs - ネストされた rxjs 演算子を避けるべきですか? 私がテストできない1つのケース
を使用する Angular アプリで次の効果を作成しましたrxjs
。MyActions.myAction
で、プロパティ (ID の配列) を含むオブジェクトを受け取り、IDids
ごとに を介して HTTP リクエストを送信しthis.myApiService.getResource
ますObservable<Resource>
。次に、すべての結果を配列に収集し、配列を渡す別のアクションをディスパッチします。
上記のコードは仕事をしますが、リアクティブ演算子の 2 つのフローをネストすることを避けるべきかどうか、またそれを記述するためのより良い方法があるかどうか疑問に思います。
私が疑問に思う理由は、そのテストを書くのに問題があるからです。以下のテストを書きましたが、合格できません。
私が得るエラーは次のとおりです。