在Eclipse/STS中使用EclEmma進行覆蓋率檢查


  • EclEmma
    • 官網 - Java Code Coverage for Eclipse
    • 測試覆蓋率工具:EclEmma
    • 實現原理
      • Instrumentation:代碼注入,在產品代碼的關鍵位置插入統計代碼,從而獲得測試覆蓋率數據
        • Class Instrumentation: 把統計代碼插入編譯好的.class文件
        • Source Instrumentation:把統計代碼插入源代碼並編譯成新的.class文件
      • Custom JVM:在JVM中把統計代碼插入.class。測試覆蓋率分析可以在JVM執行測試代碼的過程中完成
    • 功能
      • 可以結合Junit或TestNG使用
      • 作為Eclipse/STS的插件來使用
      • 可以顯示各層級的覆蓋率情況
      • 可以在源碼中高亮代碼覆蓋情況
      • 可以生成覆蓋率測試報告
      • 既可以通過單元測試來進行覆蓋率測試,也可以以Java Application等正常應用的形式來進行(編譯出來或者跑起來以后,交給測試人員進行測試,測試完成之后再生產報告)。
    • 覆蓋率指標
      • 行覆蓋率: 部分行覆蓋:a>b?a:b
      • 基本語句塊覆蓋率: 基本語句塊:沒有if-else分支的代碼區域
      • 類覆蓋率: 由JVM加載並初始化
      • 方法覆蓋率: 第一個基本語句塊被執行
    • 安裝
      • 離線安裝。下載后解壓出feature和plugin目錄,並分別復制到Eclipse/STS的相應目錄下,重啟Eclipse/STS,工具欄中在調試、運行按鈕后面會多出一個按鈕,那么就是安裝成功了
    • 使用
      • 選擇想要進行覆蓋率測試的Project
      • 然后在工具欄中按鈕的下拉菜單中可以選擇"Coverage As"后,可以進一步選擇當做Java Application、Junit Test還是TestNG來進行覆蓋率測試
      • 運行完成后,可以在"Coverage" View窗口中來查看覆蓋率測試結果(各層級的覆蓋率百分比)。同時該項目的代碼中會用紅/綠色高亮跑過/未跑過的代碼。
      • 窗口中可以導入/導出Session結果為HTML等格式的文件報告


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM