searchview 点击后被覆盖_03实战Jacoco统计代码覆盖
自動化的統(tǒng)計代碼覆蓋情況,有助于將焦點問題可視化,從而決定什么時候采取什么動作進(jìn)行改進(jìn)。Jacoco可以方面的添加在測試執(zhí)結(jié)束,進(jìn)行代碼覆蓋率的統(tǒng)計。如果我們對代碼覆蓋率有要求,那么通過Jacoco可以覆蓋率的閥值,低于閥值則不允許通過。
本章將從如何在gradle項目添加Jacoco開始。
代碼地址:Code
1,創(chuàng)建一個空白的Gradle項目(如果已有項目可以跳過該部分)
通過Intellij IDEA生成一個Gradle項目。build.gradle文件如下。
build.gradle其中:
test中指明了使用Junit測試。
dependencies中添加了依賴的JUnit5和斷言工具AssertJ。
2,在build.gradle中添加Jacoco的配置
添加完成如下:
build.gradle在build.gralde的文件的底部,新添加了jacoco插件,并指定其版本使用0.8.5(查看其他可選版本),然后指定允許生成html格式的報告,最后指定在測試運(yùn)行之后來自動生成報告。
在工程根目錄下執(zhí)行如下命令
gcb運(yùn)行結(jié)束后,會在項目根目錄下的 build/reports/jacoco (如下圖)生成覆蓋率報告文件。
Structure3, 添加實際代碼后,查看報告詳情
我們添加一個測試類ParkingLotTest。從完成測試需要的實現(xiàn)代碼。
ParkingLotTest.java
ParkingLot.java
Car.java
Ticket.java
ParkFailException.java
代碼結(jié)構(gòu)
執(zhí)行 ./gradlew clean build 生成代碼覆蓋率報告。
打開報告,我們可以看到統(tǒng)計情況。
package下的覆蓋率情況,如下圖。
點擊package名稱,能夠查看類的覆蓋率情況,如下圖。
點擊class名稱,能夠繼續(xù)查看class中method的覆蓋率情況,如下圖。
繼續(xù)點擊method名,能夠看到詳細(xì)代碼中的覆蓋情況,如下圖。
總結(jié)
結(jié)合前面的兩個工具(checkstyle、PMD),我們就能夠本地即使得到反饋。相比代碼推送到pipline中才知道結(jié)果,本地的反饋更加快速和及時。開發(fā)人員不用每日化時間在那些簡單的、重復(fù)的代碼問題上,留下更多的時間在Code Review來討論更有價值的技術(shù)問題。
擴(kuò)展閱讀:
《00簡單3步實現(xiàn)技術(shù)提升個人和團(tuán)隊效率》?zhuanlan.zhihu.com《01實戰(zhàn)CheckStyle》?zhuanlan.zhihu.com《02實戰(zhàn)PMD》?zhuanlan.zhihu.com總結(jié)
以上是生活随笔為你收集整理的searchview 点击后被覆盖_03实战Jacoco统计代码覆盖的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: dynamo python修改多个参数_
- 下一篇: 线程执行完之后会释放吗_java多线程并