高效的JavaScript代碼單元測試方法(4)

發表于:2013-01-11來源:web開發社區作者:Hazem Saleh點擊數: 標簽:JavaScript
18 This field is required ; 19 error = false ; 20 } 21 22 return error; 23 }; 在清單 2 中,ApplicationUtil 對象提供一個簡單驗證:用戶名和密碼字段都已填充。如果某個字段
18         "This field is required";
19         error = false;
20     }        
21  
22     return error;        
23 };

  在清單 2 中,ApplicationUtil 對象提供一個簡單驗證:用戶名和密碼字段都已填充。如果某個字段為空,就會顯示一條錯誤消息:This field is required。

  上面的代碼能夠在 Internet Explorer 8 和 Safari 5.1 上工作,但無法在 Firefox 3.6 上工作,原因是 Firefox 不支持 innerText 屬性。通常,(上述代碼和其他類似 JavaScript 代碼中的)主要問題是不容易發現編寫的 JavaScript 代碼是不是跨瀏覽器兼容的。

  這個問題的一個解決方案是進行自動化單元測試,檢查代碼是不是跨瀏覽器兼容。

  JsTestDriver

  JsTestDriver library 是最好的 JavaScript 單元測試框架之一,它為 JavaScript 代碼提供了跨瀏覽器測試。圖 1 展示了 JsTestDriver 的架構。

  圖 1. JsTestDriver 架構

捕獲不同的瀏覽器之后,服務器會負責將 JavaScript 測試用例運行程序代碼加載到瀏覽器中??梢酝ㄟ^命令行捕獲瀏覽器,也可以通過將瀏覽器指向服務器 URL 來捕獲瀏覽器。一旦捕獲到瀏覽器,該瀏覽器就被稱為從屬瀏覽器。服務器可以加載 JavaScript 代碼,在每個瀏覽器上執行測試用例,然后將結果返回給客戶端。

  客戶端(命令行)需要以下兩個主要項目:

  JavaScript 文件,即源文件和測試文件

  配置文件,用于組織源文件和測試文件的加載

  這個架構比較靈活,允許單個服務器從網絡中的其他機器捕獲任意數量的瀏覽器。例如,如果您的代碼在 Linux 上運行但您想針對另一個 Windows 機器上的 Microsoft Internet Explorer 運行您的測試用例,那么這個架構很有用。

  要使用 JsTestDriver 庫,請先下載最新版的 JsTestDriver 1.3.2。

  jsTestDriver 是開源項目jsTestDriver 是 Apache 2.0 許可 下的一個開源項目,托管在 Google Code 上,后者是一個類似于 SourceForge 的項目存儲庫。只要使用 Open Source Initiative 批準的 許可,開發人員就能在這個存儲庫中創建和管理公共項目。

  還有許多其他 JavaScript 單元測試工具,請參見下面的 參考資料 部分中的其他工具,比如 Dojo Objective Harness (DOH)。

  編寫單元測試代碼

  現在開始編寫 JavaScript 測試用例。為簡單起見,我將測試以下用例:

  用戶名和密碼字段均為空。

  用戶名為空,密碼不為空。

  用戶名不為空,密碼為空。

  清單 3 顯示了表示 TestCase 對象的 ApplicationUtilTest 對象的部分代碼。

  清單 3. ApplicationUtilTest 對象代碼的一部分

  查看源代碼

打印幫助
01 ApplicationUtilTest = TestCase ("ApplicationUtilTest");
02  
03 ApplicationUtilTest.prototype.setUp = function () {

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97