springboot代碼覆蓋-JACOCO --親測可以


1、下載 jacoco

官網:https://www.jacoco.org/jacoco/index.html

 

2、拷貝 jar 包  (解壓即可)

 

3、啟動 jacocoagent,監控被測項目


java -javaagent:jacocoagent.jar=includes=*,output=tcpserver,port=6300,address=localhost,append=true -jar demo-0.0.1.jar
#demo-0.0.1.jar為被測項目jar包

 

4、cli 包 dump 生成 exec 文件(注意一定要測試完畢之后)

java -jar cli-0.8.7.jar dump --address 127.0.0.1 --port 6300 --destfile jacoco-demo.exec
# --address 127.0.0.1 --port 6300 指向jacocoagent啟動IP和端口
# jacoco-demo.exec 為生成exec文件名

 

5、cli 包 exec 生成 report 報表

java -jar cli-0.8.7.jar report jacoco-demo.exec --classfiles D:\code\devops\SBD\target\classes --sourcefiles D:\code\devops\SBD\src\main\java --html html-report --xml report.xml --encoding=utf-8
#--sourcefiles 和 --classfiles 為本地被測項目源碼和字節碼路徑

 

6、覆蓋率報告

點開 report 文件下 index.html

jacoco 覆蓋率,Cov 表示覆蓋率

表格列依次是:元素;未覆蓋字節碼行數;未覆蓋的分支數;圈復雜度;行;方法;類;

 

覆蓋率標識:

條件覆蓋:紅鑽:表示未覆蓋;黃鑽:表示部分覆蓋;綠鑽:表示全部覆蓋;

行覆蓋:全覆蓋(綠色),未覆蓋(紅色),半覆蓋(黃色),無視(白色)

 

 

測試代碼覆蓋率  Jacoco

https://blog.csdn.net/weixin_42517093/article/details/106339718

https://mp.weixin.qq.com/s/KRIzu7lnmPZrgHrRywYa-w

 

自己實踐

啟動監控項目命令時出現    zsh: no matches found

解決方法: https://blog.csdn.net/Cool_001/article/details/112719537

 

這篇我親測試可以的

總結:

java -javaagent:jacocoagent.jar=includes=*,output=tcpserver,port=6300,address=localhost,append=true -jar B_End_Test_Project-0.0.1-SNAPSHOT.jar


java -jar jacococli.jar dump --address 127.0.0.1 --port 6300 --destfile jacoco-demo.exec
# --address 127.0.0.1 --port 6300 指向jacocoagent啟動IP和端口
# jacoco-demo.exec 為生成exec文件名


java -jar jacococli.jar report jacoco-demo.exec --classfiles /Users/lucax/Desktop/工作/小工具腳本/B端測試平台/b_end_java_test_project/target/classes --sourcefiles /Users/lucax/Desktop/工作/小工具腳本/B端測試平台/b_end_java_test_project/src/main/java --html html-report --xml report.xml --encoding=utf-8

#--classfiles 和字節碼路徑  注意要指定到 。。。/target/classes 這個目錄
#--sourcefiles 為本地被測項目源碼 注意要指定到 。。。。/src/main/java 這個目錄

 

 

開發的時候可以不打包,在IDE 把啟動參數加上 ,其余的2個命令也是那么敲

-javaagent:jacocoagent.jar=includes=*,output=tcpserver,port=6300,address=localhost,append=true

 

 

每次跑完功能,就執行命令,更新 exec文件,更新報告,即后面的2條命令


免責聲明!

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



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