我如何测试"私人" IIFE的方法?

时间:2014-08-30 18:18:22

标签: javascript scope iife

假设我有这个:

var myObj = (function() {
    function private1() {
        console.log("private");
    }

    return {
        public1: function() {
            private1();
            console.log("public");
        }
    }
})();

我如何测试“私人”功能?

1 个答案:

答案 0 :(得分:4)

查看How to test private functions in javascript。总结这篇文章,您可以通过改进构建过程来实现您的目标。如果您使用grunt构建代码,那么您可以添加一些代码片段,仅在测试时公开IIFE的私有元素。

您也可以尝试使用此构建工具selectizer。有了它,您可以将private1函数定义为模块,然后通过仅使用requireJS加载函数来测试它。