我有一个函数,里面有一个函数我需要能够测试内部函数是否被调用我试过寻找 spyOn 的例子,但没有找到任何东西我可以使用我试图测试的代码就像
function OutterFunc(){
function InnerFunc(){
return "A";
}
var b = InnerFunc();
return b;
}
我希望我能做的测试是 InnerFunc 已被调用 任何帮助都会非常受欢迎
我有一个函数,里面有一个函数我需要能够测试内部函数是否被调用我试过寻找 spyOn 的例子,但没有找到任何东西我可以使用我试图测试的代码就像
function OutterFunc(){
function InnerFunc(){
return "A";
}
var b = InnerFunc();
return b;
}
我希望我能做的测试是 InnerFunc 已被调用 任何帮助都会非常受欢迎
嗯,我看不到任何明显的方法来测试是否调用了该内部函数。在您上面给出的微不足道的情况下,我想获得“A”的返回值是该函数被调用的非常有说服力的证据。
如果测试以确保以某种方式调用函数,那么在某些情况下,您必须重构代码。您可以按照上面的评论将内部函数移出另一个函数。您可以像这样将内部函数传递给外部函数:
var inner = function(){
return 'A';
}
function OuterFunc(fn) {
return fn();
}
然后这样称呼它:
var res = OuterFunc(inner);
现在你可以窥探内部。还有其他可能性,但您将不得不进行一些重构以测试该内部功能。