Javascript Sandbox单元测试

我正在使用QUnit,这非常棒.

我把我的JS应用程序包含在(function(){})()中;沙箱.这隐藏了许多我不想公开的代码,但我还需要测试该代码.

以下是一个如何工作的示例:

(function () {  

    var PublicAPI = window.PublicAPI = {};        
    PublicAPI.publicFunction = function (foo) {
        PrivateAPI.privateFunction(foo);
        return 'bar';
    };

    var PrivateAPI = {};
    PrivateAPI.privateFunction: function (foo) {
       // Make secret stuff that never gets returned to the public
       // Could be an AJAX call.
    }

})();

所以在这里我可以轻松地对PublicAPI.publicFunction进行单元测试,但是我如何测试PrivateAPI.privateFunction?

最佳答案
This similar question总结得很好……最简单的是不处理私有方法,因为如果他们想要他们可以改变…公共方法是需要测试的方法.如果你想测试你的内部函数,你需要留下某种钩子以便qunit能够找到.

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...