使用jacoco实时生成后端服务集成测试代码覆盖率报告

Jacoco 是一个免费的可以统计代码覆盖率的java库,同时也提供了command line(命令行工具)。

Jacoco 通过修改java字节码然后统计代码覆盖率,有2种方式。分别是offline,on-the-fly。 这里我们使用Jacoco java Agent 动态实时完成集成测试代码覆盖率测试。

假如后端服务部署于Tomcat

  1. 启动的服务添加Jacoco java agent
-javaagent:/opt/app/autoenv/ServerAgent/jacoco-0.8.6/lib/jacocoagent.jar=address=*,port=36320,destfile=jacoco-it.exec,output=tcpserver

port 是该服务Jacoco 覆盖率统计服务监听的端口,该配置添加到tomcat的catalina.sh 中。

2. 获取代码覆盖率统计数据

java  -jar /opt/app/autoenv/ServerAgent/jacoco-0.8.6/lib/jacococli.jar dump  --address localhost  --port 36320 --destfile /tmp/jacoco-it.exec

3. 将统计数据转化为html格式报告

java -jar /opt/app/autoenv/ServerAgent/jacoco-0.8.6/lib/jacococli.jar report /tmp/jacoco-it.exec --classfiles /codePath1/target/classes/com/ --classfiles /codePath2/target/classes/com/ --sourcefiles /codePath1/src/classes/com/ --sourcefiles /codePath1/src/classes/com/ --html /tmp/jacoco-report2/

此篇文章已被阅读1039 次

Tags:

Add a Comment

邮箱地址不会被公开。 必填项已用*标注