18

以下のコードをテストしてみます。

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: 1/3 を実行 (1 失敗) (2 をスキップ) (0.072 秒 / 0.01 秒)

私のテストでは、Jasmine と PhantomJS で Testacular を使用します。

4

2 に答える 2

13

あなたが持っている行

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)')
于 2013-02-07T23:45:29.690 に答える