一、离线方式
首先测试类必须在包名下?
使用该指令生成jacoco所需的exec文件:
java -javaagent:/home/wd/jacoco-0.8.10/lib/jacocoagent.jar -cp /home/wd/JunitTest/JunitClass:/home/wd/JunitTest/junit-4.10.jar org.junit.runner.JUnitCore com.wd.test.JUTest
其中jacocoagent.jar需要去官方网站下载jacoco,在指定路径下找到该jar文件,JunitClass为要测试的java文件所编译生成的class文件,使用javac -d **.java编译,其中可能会报错为java代码找不到指定包名,该包名需要自己创建,并将java代码放到指定路径下,与代码内部package对应,junit-4.10.jar去指定官方网站下载即可,指令中JUTest是创建的java类名称。
生成报告后会显示
之后:
java -jar /home/wd/jacoco-0.8.10/lib/jacococli.jar report /home/wd/JunitTest/JunitResault/jacoco.exec --classfiles /home/wd/JunitTest/JunitClass --sourcefiles /home/wd/JunitTest/Junit --html wd_report --xml report.xml --encoding=utf-8
使用该指令生成jacoco代码覆盖率报告,--html 以及--xml则是报告生成路径