問題タブ [httptestingcontroller]

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.

0 投票する
0 に答える
79 参照

angular - 観測可能なストリームのテスト内で Angular HttpClient 応答をモックする方法は?

最終的にAngular HttpClientへの呼び出しをトリガーするオブザーバブルがあります。HttpClient からの応答をモックする必要がありますが、TestScheduler の run メソッドのコンテキスト内でそれを行う方法がわかりません。次のテストがあるとします。

transferObservableカスケードで発行された値switchMapは、Angular HttpClient を介して GET リクエストを送信するサービスへの呼び出しに送信されます。結果の値は から出力されsut.data$ます。

scheduler.run メソッド内外のさまざまな場所に次の行を配置しようとしましたが、常に同じエラーが発生します。Expected one matching request for criteria "Match URL: http://foo", found none.

大まかにどこでどのように単一の呼び出しをモックし、目的の応答としてhttp://fooフラッシュしますか?expectedData

EDITbeforeEachの構成を示す簡素化されたセットアップHttpTestingController

編集 2 : デバッグ時のサービス内からの HttpClient インスタンスのスクリーンショット。

ここに画像の説明を入力

EDIT 3 :ここで発行する Stackblitz 。失敗したテストcontract$ should return contractは興味深いものです。