n久前截的圖.... 平臺搭建了 但是還沒有真正使用過 ORZ..
吐槽博客爲啥粘個圖片這麼困難!好麻煩啊....
雖然Jenkins上使用的jacoco報告已經可以解決我們查看測試覆蓋率的基礎需求,但是推薦使用sonar來查看測試覆蓋率,顯示信息更清晰,還可以查看代碼質量。
1質量閥
質量閥:是一系列對項目指標進行度量的條件。項目必須達到所有條件才能算整體上通過了質量閾。
點擊導航欄中的質量閥按鈕,可更改質量閥的標準
2安全度&可靠度
例如點擊安全度,是以漏洞作爲評判的指標,右側顯示有漏洞的Java類,詳情可以查看sonar對這個漏洞的解釋。
點擊該Java類,可以查看該錯誤的具體代碼。
3Bugs&漏洞
與上面的安全性&可靠性的內容一樣,只是將bug與漏洞的數量進行了統計。
4壞味道
是指在代碼之中潛在問題的警示信號。並非所有的壞味道所指示的確實是問題,但是對於大多數壞味道,均很有必要加以查看,並作出相應的修改。
債務:
每一個問題,sonar都會計算出更改這個問題需要花費的時間。
通過增加這些時間得出一個總的值稱爲債務。
5覆蓋率
被測試覆蓋的代碼的比例。
點擊“覆蓋率”可以查看以列表、樹、樹圖、歷史這四種不同展示方式所顯示的測試代碼覆蓋情況。
進入某個Java類,可以查看未被覆蓋的代碼。
紅色代表測試未覆蓋
綠色代表測試完全覆蓋
彩色代表部分覆蓋
6重複
進入重複頁面可查看每個Java類重複比例與重複行
進入Java類中,橙色條代表重複的代碼。
點擊重複條可以查看與此類含有相同代碼的Java類。
7 問題
導航欄處有問題選項,點擊此按鈕進入問題頁面。
可以通過頁面左側的選項來篩選條件來準確查看問題。
進入某Java類後可以通過代碼右上方的“更多操作”的“顯示詳情”來查看指標信息。
8指標
可查看各項指標細分的信息。
以覆蓋率爲例:
代碼覆蓋率是行覆蓋率:
所有的class文件使用debug信息編譯之後,就可以計算行的覆蓋率信息。一行源代碼是否被執行,要看這一行中是否至少有一個指令被執行。
分支覆蓋率:
分支的覆蓋率,包括所有的if和switch語句。這個度量計算一個方法裏面的總分支數,確定執行和不執行的分支數量。分支覆蓋率總是可用的,即使class文件裏面沒有調試信息。