当前位置: 首页 > 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.mrgr.cn/news/56637.html

相关文章:

  • C++ —— 实现一个日期类
  • STM32烧写准备
  • c语言 前置操作符实现
  • 字符串和编码
  • 域4:通信与网络安全 第12章 安全通讯和网络攻击
  • HarmonyOS Next应用开发——图像PixelMap变换
  • Vue学习笔记(五、v-on指令)
  • Golang | Leetcode Golang题解之第501题二叉搜索树中的众数
  • 《Windows PE》9.2 动态加载技术-获取kernel32.dll基址
  • 自动化运维概述
  • 推荐一款测试软硬件系统信息的工具:AIDA64
  • 字符串拼接在Python中的最佳实践
  • C# 异常处理与调试技巧
  • 一键找出图像中物体的角点(论文复现)
  • 搭建微信AI机器人
  • Python流程控制专题:while、break与continue
  • C++学习笔记----9、发现继承的技巧(四)---- 多态继承(3)
  • 信号处理入门与实战指南
  • 数据结构修炼——树?二叉树?堆?从入门到代码实现,第二弹!!!
  • 【Spring MVC】请求参数的获取
  • C++ | Leetcode C++题解之第501题二叉搜索树中的众数
  • Construmart借力SNP全面升级SAP S/4HANA和 SAP CAR 改进零售业务流程
  • 【Linux 从基础到进阶】性能测试工具使用(sysbench、fio等)
  • 出现 master -> master (non-fast-forward) error: failed to push some ref 解决方法
  • 【前端】如何制作一个自己的网页(17)无序列表
  • MYSQL-查看创建的事件event语法(十)