我在角度应用程序上运行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");