Java应用程序的测试覆盖率之设计与实现(三)-- jacoco cli 客户端

一、背景

上文已把覆盖率数据采集好了,并提供远程连接的tcp地址及端口。

jacococli.jar 我下载好了,放在github工程里。

本文主要是介绍如何使用jacoco cli 客户端读取并生成覆盖率报告。

二、使用

1、dump覆盖率统计

java -jar doc/jacococli.jar dump --address 172.27.3.242 --port 7195 --destfile jacoco.exec

在这里插入图片描述

// 参数的使用

java -jar jacococli.jar dump [--address <address>] --destfile <path> [--help] [--port <port>] [--quiet] [--reset] [--retry <count>]

在这里插入图片描述

在这里插入图片描述

2、生成覆盖率报告

java -jar doc/jacococli.jar report jacoco.exec --classfiles target/classes --sourcefiles src/main/java --html target

在这里插入图片描述

// 参数的使用

java -jar jacococli.jar report [<execfiles> ...] --classfiles <path> [--csv <file>] [--encoding <charset>] [--help] [--html <dir>] [--name <name>] [--quiet] [--sourcefiles <path>] [--tabwith <n>] [--xml <file>]

--classfiles <classfiles>:指定要分析的字节码文件(.class 文件)的目录或文件。
--sourcefiles <sourcefiles>:指定源代码的位置,以便在报告中生成源文件的可读信息。
--html <outputdir>:指定输出目录,JaCoCo 将生成 HTML 格式的覆盖率报告。

当class和source文件或文件夹是多个的时候,写法如下:

java -jar doc/jacococli.jar report jacoco.exec \ 
--classfiles target/classes \
--classfiles xxx/target/classes \
--classfiles yyy/target/classes \
--sourcefiles src/main/java \
--sourcefiles xxx/src/main/java \
--sourcefiles yyy/src/main/java \
--html target

后文会说到集成jacoco的ant task,支持正则匹配。

但是,jacoco cli是不支持正则的,需要你通过shell脚本来配合使用,比如:

java -jar doc/jacococli.jar report jacoco.exec \
--classfiles $(find target/classes -name '*.class') \
--sourcefiles src/main/java \
--html log

在这里插入图片描述
在这里插入图片描述

三、查看报告

打开log目录下的index.html,即可看到jacoco覆盖率报告。
在这里插入图片描述

附录

Java应用程序的测试覆盖率之设计与实现(一)-- 总体设计
Java应用程序的测试覆盖率之设计与实现(二)-- jacoco agent
Java应用程序的测试覆盖率之设计与实现(三)-- jacoco cli 客户端
Java应用程序的测试覆盖率之设计与实现(四)-- jacoco-maven-plugin
Java应用程序的测试覆盖率之设计与实现(五)-- jacoco ant task
Java应用程序的测试覆盖率之设计与实现(六)-- 单元测试覆盖率
Java应用程序的测试覆盖率之设计与实现(七)-- 增量代码的测试覆盖率
Java应用程序的测试覆盖率之设计与实现(八)-- jenkins集成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天草二十六_简村人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值