2

AngularJS プロジェクトでサービスをテストしようとしています。私がやろうとしているのは、サービスのメソッドが呼び出されたかどうかを確認することだけです。ジャスミンで「and.callThrough()」を使用すると、メソッドが呼び出され、呼び出されたかどうかを確認できると思いました。ただし、関数カルマをテストすると、「getArtists のスパイが呼び出されることが予想されます」という応答が返されます。

describe('Practice', function(){
 beforeEach(module('MyApp'));
 var ctrl, loadArtists, rootscope, dataFactory;
 beforeEach(inject(function($controller, $rootScope, DataFactory){
    spyOn(DataFactory, 'getArtists').and.callThrough();
    dataFactory = DataFactory
    rootscope = $rootScope;
    scope = rootscope.$new();
    ctrl = $controller('LaunchCtrl',{scope: scope, artistsPicsRotate: []});
}));

it('should do nothing',function(){
    expect(ctrl.artistsPicsRotate).toEqual([])
});

it('should call through DataFactory', function(){
    expect(dataFactory.getArtists).toHaveBeenCalled();
    expect(dataFactory.getArtists.calls.count()).toEqual(1);
});

});

これが機能しない理由についてのアイデアは大歓迎です。

4

1 に答える 1