假设我有这个:
var myObj = (function() {
function private1() {
console.log("private");
}
return {
public1: function() {
private1();
console.log("public");
}
}
})();
我如何测试“私人”功能?
答案 0 :(得分:4)
查看How to test private functions in javascript。总结这篇文章,您可以通过改进构建过程来实现您的目标。如果您使用grunt构建代码,那么您可以添加一些代码片段,仅在测试时公开IIFE的私有元素。
您也可以尝试使用此构建工具selectizer。有了它,您可以将private1函数定义为模块,然后通过仅使用requireJS加载函数来测试它。