我想测试我的控制器进行这样的服务调用:
myService.get().success(function (data){
$scope.myData = data;
})
我可以毫无问题地测试这个:
it('should get the accounts', function() {
spyOn(myService, 'get').and.callFake(function () {
return {
success: function(callback) {
callback(myData);
}
}
});
expect(myService.get).toHaveBeenCalled();
expect($scope.myData).toEqual(myData);
})
然而;如果我想处理服务呼叫错误:
myService.get().success(function (data){
$scope.myData = data;
}).catch(function() {
$scope.error = true;
});
我的测试失败了:无法读取未定义的属性'catch'
如何使用spyOn测试成功和错误情况?
提前致谢!