当前位置: 首页 > news >正文

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

一、背景

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

  • jacoco cli文档
  • jacoco cli jar包

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覆盖率报告。
在这里插入图片描述

http://www.lryc.cn/news/466540.html

相关文章:

  • Deepin V23 / 统信UOS 下安装与配置 tftp
  • java基础学习:定时任务常见实现方式
  • 句柄是什么?有什么用?举例说明
  • Jenkins学习笔记
  • AI 解读软考高级操作系统顺序存取、直接存取、随机存取、相联存取的区别
  • STM32烧写准备
  • 为Windows Terminal 配置zsh + Oh-My-Zsh!
  • RNN、LSTM 与 Bi-LSTM
  • 第一性原理
  • DOM NamedNodeMap 接口详解
  • EasyExcel自定义下拉注解的三种实现方式
  • Burp Suite Professional 2024.9 for macOS x64 ARM64 - 领先的 Web 渗透测试软件
  • 使用Mock库进行依赖注入的实用指南
  • nosql课本习题
  • springboot 3.2.5集成spring security 只放行get请求,其他请求403
  • 【linux】麒麟v10安装ELKB(ARM架构)
  • 帝国CMS – AutoTitlePic 自动生成文章标题图片插件
  • Docker安装Mysql5.7,解决无法访问DockerHub问题
  • React中使用Antd开源组件Popover等部分组件原生样式改变问题
  • Linux 配置 ssh —— ubuntu
  • eCAP超声波测距-ePWM电机调速
  • 【K8s】Kubernetes 词汇表
  • 高级java每日一道面试题-2024年10月20日-数据库篇[Redis篇]-Redis为什么是单线程的?
  • SW-LIMS在化妆品行业稳定性试验中的应用
  • vue 项目i18n国际化,快速抽离中文,快速翻译
  • java--多态(详解)
  • windows DLL技术-DLL概述
  • C++ —— 实现一个日期类
  • Java全栈经典面试题剖析5】JavaSE高级 -- 集合
  • python中如何获取对象信息