0

英語を使用してリストを英語から英語に変換するフィルタをAngularを使用して作成しました。これは、フィルタ用のコードで、それだけで正常に動作します:AngularJsアプリケーションで角度変換を使用するジャスミンテストカスタムフィルタ

.filter('translateItem', ["$translate", function ($translate) { 
    return function (item) { 
     if ($translate.use() == "en_US"){ 
      return item; 
     } 
     if (item=="Montag") return "Monday"; 
     else if (item=="Dienstag") return "Tuesday"; 
     else return item; 
    }; 
    }]) 

私はジャスミンを使用してフィルタのユニットテストを記述しようとしていますが、私が正しくフィルタを注入しておりませんことが表示されます。私は次のエラーを取得する:

Unknown provider: translateItemFilterProvider <- translateItemFilter

これは、あなたが2つのbeforeEach行を結合した場合、それが動作するはずですテスト

describe('translateItemFilter', function() { 

var translateItemFilter; 

beforeEach(module('app.view')); 
beforeEach(inject(function(_translateItemFilter_){ 

    translateItemFilter = _translateItemFilter_; 

})); 

it('should translate items', function() { 

    var item = 'Montag', result; 

    result = translateItemFilter(item); 

    expect(result).toEqual('Monday'); 

}); 

答えて

0

ためのコードです:

beforeEach(function() { 
    module('app.view'); 

    inject(function (_translateItemFilter_) { 
    translateItemFilter = _translateItemFilter_; 
    }); 
}); 
+0

それはまだ動作しません。 。同じエラー。 – IoanaPopa

関連する問題