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

Java应用程序的测试覆盖率之设计与实现(四)-- jacoco-maven-plugin

一、什么是jacoco-maven-plugin

  • jacoco源码
  • jacoco文档

除了使用jacoco.cli.jar导出并生成覆盖率报告外,还可以使用jacoco-maven-plugin,它是maven集成了jacoco的一款插件。

在工程pom.xml里配置插件jacoco-maven-plugin。

<plugin><groupId>org.jacoco</groupId><artifactId>jacoco-maven-plugin</artifactId><version>0.8.3</version><configuration><!--javaagent所在机器地址--><address>172.27.3.242</address><!--javaagent所在机器,tcpserver的端口号--><port>7195</port><destFile>${project.build.directory}/jacoco.exec</destFile><reset>false</reset><append>true</append><sourceEncoding>utf-8</sourceEncoding><excludes><exclude>com/jacoco/JacocoTestApplication.class</exclude></excludes></configuration><executions><execution><id>dump</id><goals><goal>dump</goal></goals></execution><execution><id>report</id><phase>test</phase><goals><goal>report</goal></goals><configuration><dataFile>${project.build.directory}/jacoco.exec</dataFile><outputDirectory>${project.reporting.outputDirectory}/jacoco</outputDirectory></configuration></execution></executions>
</plugin>

二、mvn jacoco:dump

等价于 java -jar doc/jacococli.jar dump --address 172.27.3.242 --port 7195 --destfile target/jacoco.exec

在这里插入图片描述

在工程target目录下将生成一个.exec文件。

在这里插入图片描述

三、mvn jacoco:report

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

不出意外,将在target目录下生成测试覆盖率的html报告。

可当执行命令mvn jacoco:report的时候,意外还是发生了。

在这里插入图片描述

1、需要提前编译好工程

mvn package -DskipTests

会一并把测试覆盖率的报告生成,这里把它手动删除,只为验证后面的命令。

在这里插入图片描述

2、再次生成报告

mvn jacoco:report, target目录下生成一个site目录

在这里插入图片描述

在这里插入图片描述

附录

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

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

相关文章:

  • UI 提供的 progress-step 要怎么实现?
  • DBSwitch和Seatunel
  • 【日志】力扣刷题 -- 轮转数组
  • Java 项目 Dockerfile 示例:从基础镜像选择到环境变量配置的详细指南
  • WebGL编程指南 - 高级变换与动画基础
  • 银行客户贷款行为数据挖掘与分析
  • 制程质量管理方案设计
  • uniapp移动端优惠券! 附源码!!!!
  • 【分布式技术】中间件-zookeeper安装配置
  • 高等数学 7.6高阶线性微分方程
  • LSP的建立
  • huggingface的数据集下载(linux下clone)
  • Java使用dom4j生成kml(xml)文件遇到No such namespace prefix: xxx is in scope on:问题解决
  • 深入探讨Java中的LongAdder:使用技巧与避坑指南
  • 【本科毕业设计】基于单片机的智能家居防火防盗报警系统
  • C语言 动态数据结构的C语言实现单向链表-2
  • Github 2024-10-23C开源项目日报 Top10
  • ubuntu20.04 opencv4.0 /usr/local/lib/libgflags.a(gflags.cc.o): relocation报错解决
  • android openGL ES详解——混合
  • 计网--物理层
  • 算法的学习笔记—数组中的逆序对(牛客JZ51)
  • Golang | Leetcode Golang题解之第498题对角线遍历
  • 什么是全局污染?怎么避免全局污染?
  • C# 串口通信教程
  • PHP编程基础
  • TwinCAT3下位机配置EAP通讯传递与接收变量
  • 近似推断 - 期望最大化(EM)篇
  • arp欺骗及其实验
  • HDU The Boss on Mars(容斥原理)
  • nnUnet 大模型学习笔记(续):训练网络(3d_fullres)以及数据集标签的处理