spyOn找不到一个对象来监视所有人()

时间:2015-05-14 09:44:44

标签: angularjs jasmine karma-jasmine jasmine-jquery

当我想模拟使用Restangular创建的http REST服务时,我遇到了上述错误。 这是我的代码:

var someParameter = [{ "id": 1, "name": "Length" }]
   spyOn(Restangular, 'one').and.callThrough();
    it('expect company service to be called', function () {     
        httpBackend.expectGET('http://localhost:8283/com/companies', {
            someParameter: someParameter
        }).respond(mockToReturn);
    });

有没有人遇到过同样的问题。还有什么问题?

2 个答案:

答案 0 :(得分:2)

我就是这样做的,希望有所帮助。

var Restangular;
beforeEach(inject(function( _Restangular_) {
    Restangular = _Restangular_;
    spyOn(Restangular, 'all').and.callThrough();
}));

答案 1 :(得分:0)

在我看来,你应该调用spyOn里面传递给“it”的函数

var someParameter = [{ "id": 1, "name": "Length" }]
it('expect company service to be called', function () {
  spyOn(Restangular, 'one').and.callThrough();
  httpBackend.expectGET('http://localhost:8283/com/companies', {
    someParameter: someParameter
  }).respond(mockToReturn);
});