是什么
使用方式 |
ant |
maven |
java agent |
使用模式 |
on-the-flay模式 |
offline模式 |
覆盖率计数器 |
类覆盖 |
方法覆盖 |
行覆盖 |
分支覆盖 |
- 原理画图理解
能做什么
怎么做
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给每个类一个boolean[]数组实例,每个探针对应该数组中的一个条目。无论何时执行,都用下面4条字节码指令将条目设置为true。
核心原理就是操作字节码