Я делаю такой сервис.как работает функция переключения в угловом режиме?
(function(){
'use strict';
angular.module('desert').service('desertmanager',desertmanager);
function desertmanager(){
this.mode='pie';
this.setMode=function(val){
this.mode=val;
}
this.getMode=function(){
return this.mode;
}
}
})();
использовал эту услугу в мой контроллер, как это ...
(function(){
'use strict';
angular.module('app.home').controller('homeCntrl',homeCntrl);
homeCntrl.$inject=['desertmanager'];
function homeCntrl(desertmanager){
//alert(desertmanager.getMode());
var home=this;
home.clickbtn=function(){
home.message='test';
alert(home.message)
}
home.toggle=function(){
if(desertmanager.getMode()=='pie'){
desertmanager.setMode('cake')
}else{
desertmanager.setMode('yellow')
}
}
}
})();
Теперь мне нужно, чтобы проверить свою функцию переключения. я так, как below.But я получаю сообщение об ошибке это
describe('toggle mode ',function(){
var modeSpy;
beforeEach(function(){
modeSpy=spyOn(desertmanager,'getMode').andReturn('pie');
})
it('called',function(){
controller.toggle();
expect(modeSpy).toHaveBeenCalledWith('cake');
})
})
Я получаю эту ошибку
TypeError:. SpyOn (...) andReturn не является функцией
как проверить мою функцию переключения? как удалить эту ошибку?
вот мой код http://plnkr.co/edit/GAdTPFfl9LGXTczCG1KL?p=preview
Что такое последняя версия? Я видел последнюю версию 2.4? is и метод возврата в 2.4? мы можем изменить код на версию 2.4 istead из 2 – user944513
Нет. Это в 1.x. Почему вы не читаете документацию? –
чтение документа только что ... для справки – user944513