以下のコードをテストしてみます。
describe('myService test', function () {
describe('when I call myService.one', function () {
beforeEach(angular.module('TargetMarketServices'));
it('returns 1', inject(function (imagesRepository) {
expect(true).toEqual(true);
}));
});
});
このコードを実行すると、次のエラーが発生します。
TypeError: 'undefined' is not a function (evaluating 'this.func.apply(this.spec)')
at http://localhost:8080/testacular.js:76
at http://localhost:8080/context.html:35
ReferenceError: Can't find variable: inject
at /home/peter/Dropbox/AngularJS/set-component/test/sets/sets-ihm.js:6
at /home/peter/Dropbox/AngularJS/set-component/test/sets/sets-ihm.js:8
at /home/peter/Dropbox/AngularJS/set-component/test/sets/sets-ihm.js:10
PhantomJS 1.8:3つのうち1つを実行(1つ失敗)(2つスキップ)(0.072秒/ 0.01秒)
私のテストでは、JasmineとPhantomJSでTestacularを使用します。
AngularJSは、次の2つのテストライブラリを提供します。
角度モックは、ジャスミンとカルマのテストに使用されます。 Jasmine仕様テストで使用されるグローバルメソッドmodule()とinject()を公開します。これは、angular-mocks.jsスクリプトをロードする必要があることを意味します(angular.jsライブラリ/スクリプトをロードした後)
角度シナリオは、e2eテストにのみ使用されます。
あなたが持っているライン
beforeEach(angular.module('TargetMarketServices'));
する必要があります
beforeEach(module('TargetMarketServices'));
Test/unit/directivesSpec.jsの angular-phonecat プロジェクトを見ると、
beforeEach(module('myApp.directives'));
代わりにangular.moduleを使用するように変更した場合:
beforeEach(angular.module('myApp.directives'));
次に、testacularを実行すると、このエラーが発生します。
TypeError: 'undefined' is not a function (evaluating 'this.func.apply(this.spec)')