接口测试覆盖率初探

#测试覆盖率

##一、新建spring-boot项目

spring

##二、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 coverage
Written on June 6, 2020