下载jacoco
进入lib目录,主要使用这三个jar
1.通过jacocoagent.jar代理被测试的服务,如target/jacoco-test-1.0-SNAPSHOT.jar(自己的服务jar路径)
java -javaagent:jacocoagent.jar=includes=*,output=tcpserver,port=9100,address=127.0.0.1 -jar target/jacoco-test-1.0-SNAPSHOT.jar
2.开始测试
3.测试完成后,查看覆盖率报告
3.1通过jacococli.jar导出覆盖率记录的exec文件
java -jar jacococli.jar dump --address 127.0.0.1 --port 9100 --destfile ./jacoco.exec --reset
启动服务时候,指定的jacacao端口
–address 127.0.0.1 --port 9100
指定导出记录到那个路径
–destfile
3.2 通过jacococli.jar生成覆盖率报告
java -jar jacococli.jar report ./jacoco.exec --classfiles target/classes --sourcefiles src/main/java --encoding utf-8 --html jacoReport
记录路径
./jacoco.exec
类文件路径
–classfiles target/classes
代码文件路径
–sourcefiles src/main/java
–html jacoReport 生成的报告路径
到jacoReport目录,点击index.html右键浏览器打开,查看报告是否正确生成
—docker方式
dockerfile
FROM java:8
VOLUME /tmp
ADD test.jar test.jar
RUN sh -c 'touch /test.jar' \
&& ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& echo 'Asia/Shanghai' >/etc/timezone \
ENV JAVA_OPTS=""
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /test.jar" ]
docker run --name test --restart=always -d -v /mnt/logs/test:/home/logs/test -m 1G --cpus 4 -p 8080:8080 -p 9100:9100 -e JAVA_OPTS="-javaagent:jacocoagent.jar=includes=*,output=tcpserver,port=9100,address=0.0.0.0 " test:latest
参考文章链接:
https://www.cnblogs.com/wang1001/p/12627198.html
https://www.cnblogs.com/wang1001/p/12599202.html