Abl*_*son 3 javascript jasmine karma-jasmine
我有一个返回函数引用的方法.
function methodetobeMoked(param){
case1:return func1;
case 2: return func2;
.
.
case n: return funcN;
}
Run Code Online (Sandbox Code Playgroud)
我需要窥探这个方法并为特定的输入参数p返回一个假的函数引用
在茉莉花测试中是否有任何条件调用我的情景是
SpyOn(some object,'someMethode').and.{if param=p callFake(fakeMethode) else callThrough()}我试过callFake有没有办法从伪方法将控制传递给原始方法?
Jasmine间谍在名为的属性中保留原始函数originalValue,因此您可以执行以下操作:
var mySpy = {};
mySpy = t.spyOn(obj, 'methodToBeMocked').and.callFake(function (param) {
if (param === 'fake case') {
// return fake result
} else {
// do this if using Jasmine
return (mySpy.and.callThrough())(param);
// do this if using Ext + Siesta and duped by common syntax :)
// return mySpy.originalValue(param);
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2576 次 |
| 最近记录: |