2016-07-13 5 views
5

Я бегу тест Карма на угловом приложение, в тесте у меня есть следующие:spyOn дает метод не существует ошибка

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()?

+0

ли Вы инъекционные '' обслуживания в тесте? – Srijith

+0

Да, я сделал, извините, это была опечатка в моем вопросе. Исправлено. – jmona789

ответ

4

Фигурные это, мне нужно, чтобы шпионить за this.Service вместо службы, как это:

spyOn(this.Service, "functionWithPromise"); 
Смежные вопросы