2016-07-13 7 views
5

nicht Fehler existiert ich auf einem Winkel App ein Karma Test leite, in dem Test habe ich die folgenden:spyOn gibt Methode

return inject(function($injector) { 
    this.Service = { 
     functionWithPromise: function(postdata){ 
     var deferred = $q.defer(); 
     deferred.resolve({ 
      data: {} 
      }); 
      return deferred.promise; 
     } 
     }; 
}; 

und

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(); 
    }); 

, wenn ich den Test ausführen es gibt diesen Fehler:

functionWithPromise() method does not exist 

Wie kann ich den Test erhalten, um die Funktion FunktionWithPromise() zu erkennen?

+0

Haben Sie 'Service' in Ihrem Test injizieren? – Srijith

+0

Ja, tut mir leid, das war ein Tippfehler in meiner Frage. Jetzt behoben. – jmona789

Antwort

4

es herausgefunden, die ich brauchte auf this.Service statt Service auszuspionieren, wie folgt aus:

spyOn(this.Service, "functionWithPromise");