簡體   English   中英

Javascript Sandbox單元測試

[英]Javascript Sandbox unit testing

我正在使用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

這個類似的問題很好地總結了......最簡單的是不處理私有方法,因為他們可以根據需要改變...公共方法是需要測試的方法。 如果你想測試你的內部函數,你需要留下某種鈎子以便qunit能夠找到。

你不能。 無法從該范圍之外訪問它。 您唯一的希望是對它進行集成測試,即在使用內部函數的全局可用對象上測試函數。

更好的是:不要做私人活動。 有什么大不了的?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM