接口测试覆盖率初探
#测试覆盖率
##一、新建spring-boot项目
##二、agent方式启动 ###1、java -jar方式启动
java -javaagent:agent-runtime.jar=output=tcpserver,address=0.0.0.0,port=6300 -jar spring-jacoco-0.0.1-SNAPSHOT.jar
放开6300端口
###2、docker方式启动 Dockerfile
FROM java:8
# 把jar包添加到镜像中
ADD target/my_test_container-0.0.1-SNAPSHOT.jar /app.jar
COPY document/org.jacoco.agent-runtime.jar /
#COPY document/org.jacoco.cli-nodeps.jar /
# 镜像暴露的端口
EXPOSE 8801 8802 6300
RUN bash -c 'touch /app.jar'
# 容器启动命令
#ENTRYPOINT ["java","-jar","/app.jar"]
CMD java -javaagent:org.jacoco.agent-runtime.jar=output=tcpserver,address=0.0.0.0,port=6300 -jar app.jar
# 设置时区
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
##三、进行手工测试、自动化测试
###1、通过swagger文档调用接口 ###2、页面收到点击所有功能 ###3、跑自动化脚本 ##四、dump覆盖率文件
java -jar org.jacoco.cli-nodeps.jar dump --address=0.0.0.0 --port 6300 --destfile=jacoco.exec
- –reset 为重新统计
##四、生成覆盖率报告
- 生成覆盖率报告
java -jar org.jacoco.cli-nodeps.jar report jacoco.exec --classfiles xxx/target/classes/ --html coverage
- 生成带源码覆盖率报告
java -jar org.jacoco.cli-nodeps.jar report jacoco.exec --classfiles xxx/target/classes/ --sourcefiles xxx/src/main/java --html coverage
Written on June 6, 2020