私は AngularJS + Karma を使用しています。
configService
アプリの設定を管理します (例: 背景色、デバッグ モードかどうか、一般的なアクセス許可など)。$http で初期データを読み込みます。サービスのテストを正常に作成しましたが、ディレクティブとコントローラーがそれを使用しています。
ディレクティブの単体テストを作成するときは、サービスをモックする必要があります。
私はできることを知っています:
spyOn(configService, 'getBackgroundColor').andCallFake(function (params) {
return "red";
});
ただし、サービスには 25 以上のメソッドと初期データ ロードがあります。すべてのテストスイートでこのspyOnのことを書く(そして維持する)気がしません。さらに、$http を使用してファクトリにデータをロードしますが、これもモックする必要があります。サービスを注入して呼び出しをモックするだけの場合でも、http get 要求を行います。
モックを再利用する最良の方法は何だと思いますか?