我有两个函数funcA()和funcB(),我为$ scope.funcA()编写单元测试用例。
以下是定义:
function funcB(){
//statements
console.log("At function B");
};
$scope.funcA() = function(){
funcB();
console.log("At function A");
};
现在我正在测试我的$ scope.funcA()实际上正在调用我的funcB()。如何阻止这个并进行虚假调用或模拟funcB();在茉莉花。
答案 0 :(得分:0)
您可以使用spyOn()
和andCallFake()
来实现它。
请参阅我之前的答案。
Does Jasmine's spyOn() allow the spied on function to be executed?
希望这会有所帮助。
修改强>
对于较新版本的jasmine,snytax将是
spyOn($scope, 'funcB').and.callFake(function() {
return 'something';
});
有关完整列表,请参阅 - http://jasmine.github.io/2.0/introduction.html