小白也能掌握的覆盖率统计与精准测试技术

问题反馈与相关链接,相关问题可回复帖子,直播间可能会遗漏问题

覆盖率统计实战
小白也能用的工具 jacoco-cli


jacoco-cli 流程

  • instrument 字节码插桩
    • on-the-fly
    • offline
  • dump 覆盖率数据导出
  • report 生成覆盖率报告
  • merge 合并覆盖率

on-the-fly 模式插桩

java -javaagent:/Users/seveniruby/ke/shift_left/jacoco/org.jacoco.agent-0.8.7-runtime.jar \
  -jar start-site/target/start-site-exec.jar

#tcpserver模式 默认6300端口
java -javaagent:/Users/seveniruby/ke/shift_left/jacoco/org.jacoco.agent-0.8.7-runtime.jar=output=tcpserver \
  -jar start-site/target/start-site-exec.jar

dump 导出覆盖率数据

java -jar /Users/seveniruby/ke/shift_left/jacoco/org.jacoco.cli-0.8.7-nodeps.jar \
  dump \
  --address 127.0.0.1 --port 6300 \
  --reset \
  --destfile jacoco_tcpserver.exec


report 生成覆盖率报告

#生成无源代码的报告
java -jar /Users/seveniruby/ke/shift_left/jacoco/org.jacoco.cli-0.8.7-nodeps.jar \
  report jacoco_tcpserver2.exec \
  --html jacoco_html \
  --classfiles start-site/target/classes/

#生成有源代码关联的报告
java -jar /Users/seveniruby/ke/shift_left/jacoco/org.jacoco.cli-0.8.7-nodeps.jar \
  report jacoco_tcpserver2.exec \
  --html jacoco_html \
  --classfiles start-site/target/classes/ \
  --sourcefiles start-site/src/main/java/

手工测试用例与覆盖率关联演练

相关链接

https://www.eclemma.org/jacoco/

https://www.jacoco.org/jacoco/trunk/doc/cli.html

https://repo1.maven.org/maven2/org/jacoco/

活动

image

关闭