Jacoco入门实战篇

是什么

  • 简介
  • 相关概念
使用方式
ant
maven
java agent
使用模式
on-the-flay模式
offline模式
覆盖率计数器
类覆盖
方法覆盖
行覆盖
分支覆盖
  • 原理画图理解
    Jacoco入门实战篇

能做什么

  • 单元测试用例覆盖
  • 代码逻辑分支检测

怎么做

  • Java agent方式
Java agent方式
Jacoco工具下载 https://www.jacoco.org/jacoco/index.html 下载jacoco-0.8.5.zip包,解压,然后拿出 lib下面的两个工具包:jacocoagent.jar & jacococli.jar
注入并采集 启动jar包时候,加入配置,比如: java -javaagent:/{path}/jacocoagent.jar=includes=com.*,output=tcpserver, port={port},address={addr},destfile=./jacoco.exec -jar [启动项目.jar] 我们用的是tcpserver模式,{xx}的地方换成 自己的
导出数据 java -jar /{path}/jacococli.jar dump --address {addr} --port {port} --destfile ./jacoco.exec {xx}的地方换成自己的
生成报告 Java -jar jacococli.jar report ./jacoco.exec --classfiles {path}/classes --sourcefiles {path}/src/main/java --encoding utf-8 --html jacoReport {xx}的地方换成自己的
  • 查看报告
    Jacoco入门实战篇
  • 报告解读
    Jacoco入门实战篇

深入浅出

Jacoco给每个类一个boolean[]数组实例,每个探针对应该数组中的一个条目。无论何时执行,都用下面4条字节码指令将条目设置为true。
核心原理就是操作字节码