如何模拟或调用Fake一个基本的javascript函数

How to mock or callFake a basic javascript function?

本文关键字:一个 函数 javascript Fake 何模拟 模拟 调用      更新时间:2023-09-26

我有两个函数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()进行伪调用或mock;Jasmine。

您可以使用spyOn()andCallFake()来实现它。请看我之前的一个答案。茉莉花';s spyOn()是否允许执行监视函数?

希望这能有所帮助。

编辑

对于茉莉花的新版本,snytax将是

spyOn($scope, 'funcB').and.callFake(function() {
      return 'something';
});

有关完整列表,请参阅-http://jasmine.github.io/2.0/introduction.html