Я пытаюсь высмеять сервис для контроллера, но изо всех сил стараюсь заставить его работать.AngularJS: Mock Controller Service
Использование кода полу-psudeo У меня есть сервис:
.factory('SomeService', ['$http'function($http) {
var someService = {};
someService.getData=function(val1, val2){
...
return someData;
}
return someService;
}
и контроллер, как так:
.controller('someController', ['SomeService', function(SomeService){
var self = this;
var data = [];
self.getSomeData = = function(){
var response = SomeService.getSomething.then(function(response){
self.data = response;
});
};
}]);
Я пытаюсь написать тест, который использует $ предоставить издеваться услуги , Что-то вроде этого:
var mockService
beforeEach(module(function($provide){
mockService.getSomething = function(){
return [ ....];
};
$provide.value('SomeService', mockService);
}));
После введения этого издеваться и запустить тест я получаю:
TypeError: не могу установить свойство getSomething неопределенной
Есть ли что-то явно не так с этим кодом (или справа) ?
В функции beforeEach? –
да. Я обновил свой ответ, чтобы дать немного больше ясности. –
Спасибо за ответ, но это не работает. Если я использую ваш точный код выше, я получаю: невозможно прочитать свойство «then» неопределенного. –