• <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的測試之旅

    發表于:2012-10-23來源:futurehandw作者:吳穎敏點擊數: 標簽:JavaScript
    由于測試中兼容性的考慮不足,導致JS在一定內核瀏覽器下沖突無效,嚴重的外網事故。。。。 雖然現在很多公司注重了代碼的Xunit測試,但對于展現層的Javascript,JQUERY等代碼的測試仍然不是很多,這里將對JS方面的測試及兼容性測試,性能測試留下點Mem

      由于測試兼容性的考慮不足,導致JS在一定內核瀏覽器下沖突無效,嚴重的外網事故。。。。

      雖然現在很多公司注重了代碼的Xunit測試,但對于展現層的Javascript,JQUERY等代碼的測試仍然不是很多,這里將對JS方面的測試及兼容性測試,性能測試留下點Memory。

      JS的Xunit框架現在有很多,jsunit,Qunit,YUITest。

      考量了我們選用Qunit+Qmock的框架進行JS單元測試自動化。

      Qunit的特點:

      支持異步的ajax測試

      支持區分module的測試

      支持測試時間輸出

      Qmock的加入更好的配合了Qunit的測試

      Qunit的判斷類:

      ok(state, message) – 布爾型斷言,message是專門顯示在QUnit界面上,用來區分不同的斷言的

      equals(actual, expected, message) – 相等斷言,actual和expected的值相等時才能通過。

      same(actual, expected, message) – 完全相等斷言,和equals的區別在于它會比較子元素,對于數組和一些自定義對象的比較十分有用。

      raises( block, expected, message ) – 判斷錯誤返回

      Qunit的實現類:

      expect(amount) – 指定某個函數中會有多少個斷言,通常寫在測試函數開頭。

      module(name) – 模塊是測試函數的集合,使用該函數可以在UI中將測試函數按模塊歸類。

      asyncTest( name, expected, test ) – 異步ajax測試使用

      異步與Ajax

      對于異步程序的測試,如setTimeout、setInterval、Ajax等情況,按照上面的方法,在異步調用執行之前,測試就已完成并輸出了結果。

      這時,配合使用QUnit提供的兩個函數:stop( [timeout] ) 和 start(),也可以輕松搞定。

      //Ajax測試

      function ajax(successCallback) {

      $.ajax({

      url: ‘XXXX.php’,

      success: successCallback

      });

      }

      test(‘asynchronous test’, function() {

      // 暫停測試

      stop();

      ajax(function() {

      // 異步調用判斷

      })

      setTimeout(function() {

      //異步測試完成后,恢復

      start();

      }, 2000);

      })

    現在WEB2.0JS測試越來越重要了,在即將來臨的webGL時代尤為重要,得惡補JS了
     

    原文轉自: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>