我的javascript代码中有一些IIFE,结构如下:
function myIIFE() {
function mtd1() {}
function mtd2() {}
function publicmtd1() {}
return Object.freeze({
publicmtd1: publicmtd1
});
}
如何在此IIFE中测试私有方法?
我知道我们不应该测试私有方法,如果我们需要测试它们,应该将它们转移到公共方法。
我很好奇是否可以这样做。在Java中,我能够通过使用反射来公开然后测试它们来测试私有方法。我想知道Javascript是否有类似于反射的东西。
更新:有些人指出我的示例代码不是IIFE。你是对的。我应该说模块而不是IIFE。
答案 0 :(得分:1)
IIFE(立即调用函数表达式)是一个JavaScript函数,一旦定义就会运行。
您的示例不是 IIFE ,但无论如何,您无法访问myIIFE
闭包中定义的函数,因此,在此形状中,您可以&#39 ; t测试它们。