Jasmine 条件 callThrough 和 callFake
Jasmine conditional callThrough and callFake
我有一个 returns 函数引用的方法。
function methodetobeMoked(param){
case1:return func1;
case 2: return func2;
.
.
case n: return funcN;
}
我需要监视此方法和 return 特定输入参数 p
的伪函数引用
jasmine测试中有没有条件callThrough
我的场景是
SpyOn(some object,'someMethode').and.{if param=p callFake(fakeMethode) else callThrough()}
I tried callFake Is there any way to pass control to original method from fake method?
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);
}
});
我有一个 returns 函数引用的方法。
function methodetobeMoked(param){
case1:return func1;
case 2: return func2;
.
.
case n: return funcN;
}
我需要监视此方法和 return 特定输入参数 p
的伪函数引用jasmine测试中有没有条件callThrough 我的场景是
SpyOn(some object,'someMethode').and.{if param=p callFake(fakeMethode) else callThrough()}
I tried callFake Is there any way to pass control to original method from fake method?
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);
}
});