JavaScript 測試覆蓋率檢測工具

發表于:2013-12-09來源:IT博客大學習作者:lifesinger點擊數: 標簽:JavaScript
最近在用 Jasmine 給 KISSY 項目添加測試代碼,遇到一個困惑:如何保證測試能完整覆蓋到源碼的所有分支? 用 Google 搜索了下 JavaScript Coverage 工具,琳瑯滿目。有商業版的 JavaScript Coverage Validator, 還有 FireBug 的不少擴展 JavaScript Cod

  最近在用 Jasmine 給 KISSY 項目添加測試代碼,遇到一個困惑:如何保證測試能完整覆蓋到源碼的所有分支?

  用 Google 搜索了下 JavaScript Coverage 工具,琳瑯滿目。有商業版的 JavaScript Coverage Validator, 還有 FireBug 的不少擴展 JavaScript Code Coverage Tool for Firebug. 美中不足是,這些要么要花錢,要么已停止更新,杯具。

  最后將目標鎖定到免費開源一直更新的:JSCoverage. 不用不知道,一用立刻相見恨晚。下面簡單介紹下。

  下載安裝非常簡單,到 這里 下載 window 版本。完成后,將壓縮包里的 jscoverage.exe 復制到 C:\Windows\System32. 安裝完畢。

  我們以 cookie 模塊為范例。命令行模式,在 cookie 的上級目錄 src 下輸入:

  jscoverage.exe cookie cookie_ --encoding=utf-8 --no-instrument=tests

  運行后,就會生成 cookie_ 目錄。原理是將需要檢測的 js 文件重新編譯,分析原始語句,并插入相應的監測代碼。有興趣的可以打開 cookie_/cookie.js 文件觀摩。

  --no-instrument=tests 是告訴 jscoverage 不要理會 tests 目錄下的 js 文件。tests 目錄下存放的是 Jasmine 測試文件,不需要監測。

  接下來,在瀏覽器中通過服務器瀏覽就可以了: cookie_/jscoverage.html

  在打開的頁面中,點擊 Summary, 可以看到:

  非常清晰:cookie.js 的測試覆蓋率為 91%, 點擊 cookie.js 切換到 Source Tab, 可以具體看到哪些代碼行沒有執行。

  一切就這么簡單。利用 jscoverage-server.exe, 還可以生成報告,這里就不細說了,具體請看 JSCoverage User Manual.

  有了 Jasmine, 讓我們可以大膽重構代碼和添加新功能。

  有了 JSCoverage, 則讓我們對 Jasmine Specs 的覆蓋率有了全局掌握,可以隨心所欲。

  希望這篇文章,能讓你對 JS Test Coverage 工具有個初步了解。好了,繼續干活。

原文轉自:http://blogread.cn/it/article/3055?f=wb

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