angular-translateでuseStaticFilesLoaderを使用しており、さらにテストで$httpBackendをインジェクションしている場合、テスト実行時に次のようなエラーが出ると思う。
Unexpected request: GET scripts/i18n/locale-ja.json
ロケールファイルへのアクセスが怒られているようだ。$httpBackendを使用する場合は、リクエストされる全てのURLに対してモックを用意をしてあげないとダメということか?
そんなことやってられないので、ロケールファイルへのアクセスにはダミーを返すようにすればよい。
... angular.module('translateMock', []) .factory '$translateStaticFilesLoader', ($q) -> -> deferred = $q.defer() deferred.resolve({}) #空のJSONを返す deferred.promise # modules beforeEach -> module 'App' module 'translateMock' ...
これできっと幸せになれるはず。
関連する記事
- AngularJS + Railsで国際化(i18n)
- AngularJSのバックエンドをモック化してテストする
- Rails+JSフレームワークでリアルタイム掲示板を作成してみる(AngularJS編)
- Protractor+CoffeeScriptでAngularJSをE2Eテスト
- How to keep scroll position after refreshing in AngularJS