Javascript沙盒单元测试
我正在使用QUnit,这是非常好的 我把我的JS应用程序放在Javascript沙盒单元测试,javascript,unit-testing,sandbox,anonymous-function,qunit,Javascript,Unit Testing,Sandbox,Anonymous Function,Qunit,我正在使用QUnit,这是非常好的 我把我的JS应用程序放在(函数(){})()中沙箱。这隐藏了很多我不想公开的代码,但我还需要测试这些代码 下面是一个如何工作的示例: (function () { var PublicAPI = window.PublicAPI = {}; PublicAPI.publicFunction = function (foo) { PrivateAPI.privateFunction(foo);
(函数(){})()中代码>沙箱。这隐藏了很多我不想公开的代码,但我还需要测试这些代码
下面是一个如何工作的示例:
(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
?总结得很好。。。最简单的方法是不处理私有方法,因为它们可以根据需要进行更改。。。公共方法是需要测试的方法。如果你想测试你的内部函数,你需要留下一个钩子让qunit能够找到。你不能。无法从该范围之外访问它。您唯一的希望是对其进行集成测试,即在使用内部函数的全局可用对象上测试函数
更好的办法是:不要做私人活动。有什么大不了的