実際のテストはここにあります: https :
順序が動作を説明していると思いますが、明示的なサンドボックスの作成がとにかく正しいことであるかどうかはよくわかりません。 後で調査する必要があります。
それはまだaxiosでは動作しないようです。
なぜこれを初めて閉じなかったのかわかりません。これを調べると、ノードでテストが実行されていることがわかります。 これは、XHR実装では_当然_サポートされていません。 テストがブラウザで実行された場合、たとえばmochify
またはKarmaを使用した場合、XHRスタブはブラウザ環境を対象としているため、これは別のことです。
@brunolm :失敗するブラウザーで実行されているテストはまだ見たことがないので、それが発生するまでこれを調べることはありません。 テストライブラリのXHRスタブをノードのHTTPライブラリとノードで実行しているときにブラウザで動作させる方法の詳細は、私たちの範囲外です😄そのようなことをしている場合は、 supertest
相当するaxiosを作成してみます
参考:axiosにはすでに独自のスタブライブラリ
設定を渡してリクエストを開始する代わりに、axiosのリクエストメソッドエイリアスを使用してこれを解決しました。 つまり、代わりにaxios(config)
使ったaxios[method](url, data, config)
だから今、
sandbox.stub(axios, "get").returns(Promise.resolve({status:200, body: searchResponse}));
これは、ライブラリmoxiosを使用するよりもクリーンです。
最も参考になるコメント
設定を渡してリクエストを開始する代わりに、axiosのリクエストメソッドエイリアスを使用してこれを解決しました。 つまり、代わりに
axios(config)
使った
axios[method](url, data, config)
だから今、
sandbox.stub(axios, "get").returns(Promise.resolve({status:200, body: searchResponse}));
これは、ライブラリmoxiosを使用するよりもクリーンです。
Stackoverflow Answer