我有一个函数,里面有一个函数我需要能够测试内部函数被调用我试过寻找spyOn的例子但是找不到任何东西我可以使用我试图测试的代码是像
function OutterFunc(){
function InnerFunc(){
return "A";
}
var b = InnerFunc();
return b;
}
我希望我能做的测试是已经调用了InnerFunc 任何帮助都会非常受欢迎
答案 0 :(得分:1)
如果测试以确保以某种方式调用函数,则在某些条件下您必须重构代码。您可以将内部函数移出另一个函数,如上面的注释中所示。您可以将内部函数传递给外部函数,如下所示:
var inner = function(){
return 'A';
}
function OuterFunc(fn) {
return fn();
}
然后这样称呼它:
var res = OuterFunc(inner);
现在你可以窥探内心。还有其他可能性,但是您将不得不进行一些重构以测试内部函数。