是否可以在Jasmine's spyOn()
Is it possible to specify what to return for certain arguments in Jasmine's spyOn()?
Jasmine有一个spyOn
函数,但它似乎只有两个参数-对象和要调用的函数名:
spyOn(foo, 'getBar').andReturn(745);
例如,如果我调用foo.getBar()
,我应该得到745。
我只是想知道,如果我有一个单元测试,想要用两个不同的参数模拟对getBar
的两个不同调用,返回两个不同结果,会怎么样。
例如,说我想嘲笑以下结果,我如何才能实现以下结果?
getBar(1) = 700
getBar(2) = 500
您可以使用andCallFake
来实现这一点:
spyOn(foo, 'getBar').andCallFake(function(n) {
if (n === 1) {
return 700;
} else if (n === 2) {
return 500;
}
throw "Invalid input";
});
相关文章:
- 使用jasmine模拟对服务器的调用
- 为什么jasmine期望不验证是否抛出了错误
- 模拟chrome.storage.local函数使用Jasmine
- 函数在promise被解析后被调用,但Jasmine未通过测试.为什么?
- 为什么spyOn"停止函数“”的所有执行;Jasmine(要求澄清Jasmine 2.2间谍文件)
- 可以't在Jasmine中调用Javascript函数
- Jasmine单元测试在监视服务方法时失败
- 如何使用Jasmine测试Knockout.js点击绑定
- 使用Jasmine进行角度单元测试:如何删除或修改spyOn
- Jasmine spyOn使用伪造的返回数组测试功能
- Angular Jasmine SpyOn$resource处理错误
- Jasmine - Ajax Spyon 错误请求
- Jasmine spyOn:当传递间谍函数引用时如何使其工作
- Jasmine中的spyOn函数,该函数从数组中返回随机元素
- jasmine javascript spyon对象实例
- 是否可以在Jasmine's spyOn()
- 使用Jasmine进行单元测试:测试没有看到beforeEach()中的代码's spyOn()
- 如何在Jasmine中使用spyOn来模拟选择器的jQuery值
- Jasmine:在具有函数引用的 spyOn 之后调用的真实函数
- Jasmine spyOn多次返回