4

単体テストを書くのは初めてなので、これがばかげた質問である場合は申し訳ありません。サービス呼び出しからのモック データに依存する Angular コントローラーでメソッドをテストしようとしていて、そのサービス呼び出し (ngResource) もモックしたい場合、コントローラーで行われた他の要求を httpBackend に無視させる方法はありますか初期化中?

whenGET または expectGET 定義を before ブロックに配置し、テスト内でコントローラーのみをインスタンス化しようとしましたが、flush() を呼び出すと、httpBackend が他の要求 (エラー: 予期しない要求) を予期していることが常にわかります。他のすべてのリクエストのモックを作成したくはありません。このテストに使用しているものだけです。

もちろん、これはばかげた考えかもしれません。偽のデータを直接提供することもでき、コントローラーのメソッドと一緒にサービスをテストすることもできないからです。これが機能することを確認しました。おそらく正しい答えは、コントローラー内からサービスをテストするべきではないということです。

FWIW、Sinon fakeServer も使用してみましたが、どうやら Angular の XHR 実装にも対応していないようです (サーバーは応答しません)。

4

0 に答える 0