我有这样的服务:
var myApp = angular.module('myApp', []);
myApp.factory('myService', function() {
var a = function() {
return b();
}
function b() {
return 'foo';
}
return {
a: a
};
});
现在,我想通过模仿a();
来测试b();
,例如通过让它返回 bar 。我的测试是这样的:
it('should call a() and return string bar', function() {
// mock function b() here
expect(myService.a()).toBe('bar');
});
答案 0 :(得分:0)
您可以使用 spyOn 。这是一个例子:
beforeEach(function(){
spyOn(myService, 'b').and.returnValue('bar');
});
it('should call a() and return string bar', function() {
expect(myService.a()).toBe('bar');
});
详细了解间谍活动http://jasmine.github.io/2.0/introduction.html#section-Spies