angularjs – spyOn给出方法不存在错误

前端之家收集整理的这篇文章主要介绍了angularjs – spyOn给出方法不存在错误前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在角度应用程序上运行Karma测试,在测试中我有以下内容
return inject(function($injector) {
   this.Service = {
      functionWithPromise: function(postdata){
         var deferred = $q.defer();
         deferred.resolve({
            data: {}
          });
          return deferred.promise;
         }
      };
};

it('should call the functionWithPromise function when the create function is called',function() {
    res = {}
    this.scope.create(res);
    this.scope.$digest();
    spyOn(Service,"functionWithPromise");
    expect(this.Service.functionWithPromise).toHaveBeenCalled();  
  });

当我运行测试时它会给出这个错误

functionWithPromise() method does not exist

如何让测试识别functionWithPromise()函数

想出来,我需要监视这个.服务而不是服务,像这样:
spyOn(this.Service,"functionWithPromise");

猜你在找的Angularjs相关文章