代碼質量管理的探索實踐(下)

代碼質量管理的探索實踐(上)介紹了版本管理和質量檢查的相關工具,本文將爲大家介紹單元測試覆蓋率、質量報告等代碼質量管理的過程。

5、 檢查單元測試覆蓋率的相關技術

單元測試案例寫好了,如何得到執行覆蓋率報告?早期,我們使用的是 maven-cobertura 插件,它通過對代碼編譯後的字節碼做“打樁”處理,爲每行代碼都掛上一個計數器,maven- surefire 插件執行單元測試代碼時,這些計數器就留下了測試代碼的“腳印”,測試結束後將這些計數器進行統計分析得到的報表就是單元測試覆蓋率報告了。

圖 9 被 cobertura 打樁後的 Java 代碼(反編譯)

圖10 某個工程的單元測試覆蓋率概覽

圖11 某段代碼的覆蓋率提示

上圖綠色部分代表已經測試覆蓋的代碼,前面的數字分別代表行號和測過的次數,if 分支前面也有執行過的次數,但因分支條件沒有完全覆蓋只能標記爲未覆蓋的紅色。類似的單元測試覆蓋率檢查工具也很多,比如 Emma(JaCoCo 的前身)、JMockit-cover 等工具都提供了 Maven 插件,可以根據具體質量檢查環境的要求配合使用,同時 Emma提供了 Eclipse 插件支持,開發人員可以方便的在運行 JUnit 後在代碼窗口看到覆蓋率結果。

原文鏈接:【https://www.infoq.cn/article/PiEIm00Ym16blbGtxpNJ】。未經作者許可,禁止轉載。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章