問題タブ [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.
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
は興味深いものです。