先在官网上下载jar包
官网地址
https://www.eclemma.org/jacoco/index.html
Jacoco使用插桩的方式来记录覆盖率数据,是通过一个probe探针来注入。
JaCoCo同时支持on-the-fly和offline的两种插桩模式。
On-the-fly插桩
JVM通过 -javaagent参数指定jar文件启动代理程序,代理程序在ClassLoader装载一个class前判断是否修改class文件,并将探针插入class文件,探针不改变原有方法的行为,只是记录是否已经执行。
JaCoCo执行最小的java版本Java1.5
1 先在代码运行时生成.exec文件
在vm arguments中输入命令
-javaagent:[yourpath/]jacocoagent.jar=[option1]=[value1],[option2]=[value2]
-javaagent:D:/jacoco-0.8.7/lib/jacocoagent.jar=includes=*,output=file,append=true,destfile=D:/jacoco.exec
生成jacoco.exec文件
2 用jacoco.exec文件生成报表
java -jar jacococli.jar report jacoco.exec --classfiles D:\jacoco-0.8.7\project\target\classes\ --sourcefiles D:\jacoco-0.8.7\project\src\main\java --html html
注意:这里--sourcefiles后面的是到java路径
--classfiles 后面路径是直接的class文件