【发布时间】:2016-07-11 09:39:46
【问题描述】:
我有一个控制器,它使用一项服务,解决一个承诺,然后设置一个变量。 我想测试变量是否已设置,我该怎么做?
Service.js
angular
.module('myModule')
.service('MyService',['$resource',function($resource){
var r = $resource('/users/:id',{id:'@id'});
this.post = function(_user){
return (new r(_user)).$save()
}
}])
控制器
angular
.module('myModule')
.controller('myCtrl', ['MyService',function(MyService){
var vm = this;
vm.value = 0;
vm.post = function(_user){
MyService.post(_user).then(function(){
vm.value = 1;
});
};
}])
控制器规格
describe('Test Controller',function(){
beforeEach(module('myModule'));
beforeEach(inject(function($controller, MyService){
this.ctrl = $controller('myCtrl');
}))
it('after save value is 1',function(){
this.ctrl.post({name: 'chuck'});
//Always this.ctrl.value it's equal to 0
expect(this.ctrl.value).toBeEqual(1);
});
});
【问题讨论】:
标签: angularjs testing jasmine ngresource