• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 對JavaScript進行單元測試的工具(4)

    發表于:2012-11-29來源:IBM作者:不詳點擊數: 標簽:JavaScript
    清單 15 顯示了如何使用幾個參數配置控制臺。該控制臺會在 DOM 元素內部呈現,其 id 為 testLogger。 需要更新 HTML 運行程序。添加該控制臺所引用的 DOM 元素

      清單 15 顯示了如何使用幾個參數配置控制臺。該控制臺會在 DOM 元素內部呈現,其 id 為 testLogger。

      需要更新 HTML 運行程序。添加該控制臺所引用的 DOM 元素,如清單 16 所示。

      清單 16. 更新后的 HTML 運行程序支持 Yahoo!Console

    				
    <body class="yui3-skin-sam">
         <div id="testLogger"></div> 
    </body>
    

      本例為 設置了一個類,名為 yui3-skin-sam。該類負責定義控制臺的皮膚。

      圖 3 顯示了運行測試之后的控制臺。

      圖 3. YUI Test 結果

    顯示每次測試結果的日志控制臺的屏幕截圖。

      回頁首

      使用 JSTestDriver 輕松測試

      通過使用功能強大的 JSTestDriver (JSTD) 工具,您能夠在多個瀏覽器中從命令行運行 JavaScript。JSTD 帶有一個 JAR 文件,它可以讓您啟動服務器、捕獲一或多個瀏覽器并在這些瀏覽器中運行測試。因為擁有上述的兩個框架,您不需要 HTML 運行程序,但您需要一個配置文件。圖 17 顯示了配置文件。

      清單 17. 配置文件 (jsTestDriver.conf)

    				
    server: http://localhost:4224
    load:
      - js/src/*.js
    test:
      - js/test/*.js
    

      該配置文件是用 YAML 編寫的,這是一種很好的配置文件格式。它包含了要啟動的服務器以及源代碼和測試文件的位置信息。

      要使用 JSTD 來執行測試:

      啟動測試服務器。從命令行中,進入到保存 jsTestDriver.jar 的文件夾,并執行以下命令:

    java -jar JsTestDriver-1.3.3d.jar -port 4224

      清單 17 中指定的端口應該與配置文件中指定的一樣。在默認情況下,JSTD 會在 JAR 文件所在的同一個目錄下查找 jsTestDriver.conf 文件。

      在測試中,通過將 URL http://localhost:4224/capture 復制粘貼到測試中的瀏覽器,在服務器上注冊一個或多個瀏覽器。

      測試之前示例中所使用的相同代碼(清單 5),但這次使用 JSTD 語法。清單 18 顯示了如何轉換 清單 10 的 QUnit 和 清單14 的 YUI Test 中的代碼。

      清單 18. JSTD 測試

    				
    TestCase("Temperature conversion", {
        setUp : function () {
            this.celsius1 = 20;
            this.celsius2 = 30;
    	
            this.fahrenheit1 = 68;
            this.fahrenheit2 = 86;
        },
    
        testConversionCtoF: function () {
            assertSame(this.fahrenheit1, convertFromCelsiusToFahrenheit(this.celsius1));
            assertSame(this.fahrenheit2, convertFromCelsiusToFahrenheit(this.celsius2));
        },
    	
        testConversionFtoC: function () {
            assertSame(this.celsius1, convertFromFahrenheitToCelsius(this.fahrenheit1));
            assertSame(this.celsius2, convertFromFahrenheitToCelsius(this.fahrenheit2));
        }
    });
    

      清單 18 中的代碼與 YUI 版本差別不大。JSTD 使用 TestCase() 函數來定義測試用例。您可以使用內聯聲明來定義測試方法,如清單 18 所示,或者可以擴展 TestCase 實例的原型。每個測試用例還可以使用 SetUp() 和 tearDown() 方法。

      如果要運行測試,運行以下命令:

    java -jar JsTestDriver-1.3.3d.jar --tests all

      圖 4 顯示了終端上的輸出結果。

      圖 4. JSTD 測試的結果

    命令行顯示哪些測試通過,哪些測試失敗。

      測試會傳入之前捕獲到的所有瀏覽器(Chrome 15、Safari 5 和 Firefox 7)。

      JSTD 還能與您偏好的連續集成系統很好地集成,成為連續版本的一部分。它還能與 IDE 集成,如 Eclipse(插件)或 TextMate(包)。

      回頁首

      結束語

      隨著現在對 Web 應用程序客戶端的關注,對 JavaScript 進行單元測試就顯得尤為必要。有很多框架可以幫助您完成此任務,本文介紹了三個最流行的框架:QUnit、YUI Test 和 JSTestDriver。

      QUnit 非常簡單,很適合初學者的框架。

      YUI Test 是個全面的工具,適合熟悉 YUI 庫的用戶。

      JSTestDriver 可在多個瀏覽器中運行測試。

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>