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

集成 jacoco 插件,查看单元测试覆盖率

文章目录

  • 前言
    • 集成 jacoco 插件,查看单元测试覆盖率
      • 1. 添加pom
      • 2. 配置完成、执行扫描
      • 3. 执行结果
      • 4. 单元测试报告

前言

  如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。
  而且听说点赞的人每天的运气都不会太差,实在白嫖的话,那欢迎常来啊!!!


集成 jacoco 插件,查看单元测试覆盖率

1. 添加pom

首先根据你的springBoot版本号选择你对应的pom依赖,因为你的插件版本要确保和你的 Spring Boot 版本兼容。
我的springBoot 版本号如下:

    <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.3.4.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent>

下面是jacoco 插件:

 <!-- jacoco 插件,查看单元测试覆盖率 --><plugin><groupId>org.jacoco</groupId><artifactId>jacoco-maven-plugin</artifactId><version>0.8.5</version><configuration><dataFile>target/jacoco.exec</dataFile><outputDirectory>target/jacoco</outputDirectory></configuration><executions><execution><id>jacoco-initialize</id><goals><goal>prepare-agent</goal></goals></execution><execution><id>jacoco-site</id><phase>test</phase><goals><goal>report</goal></goals></execution></executions></plugin>

含义:

<configuration><dataFile>target/jacoco.exec</dataFile><outputDirectory>target/jacoco</outputDirectory>
</configuration>

dataFile: 指定了存储测试覆盖率数据的文件路径。在这里,覆盖率数据会保存在 target/jacoco.exec 文件中。该文件包含了 Jacoco 在测试期间收集的覆盖率信息。
outputDirectory: 指定了生成的报告文件存放的位置。生成的 HTML 报告将存储在 target/jacoco 目录下。

<executions><execution><!-- 执行的标识符 --><id>jacoco-initialize</id><!-- 这个目标会在测试执行之前准备 Jacoco 的代理,它会在 JVM 中插入 Jacoco 的代码覆盖率代理,来收集覆盖率数据。这个目标通常需要在 test 阶段之前执行。 --><goals><goal>prepare-agent</goal></goals></execution><execution><!-- 执行的标识符 --><id>jacoco-site</id><!-- 表示在 Maven 构建的 test 阶段执行。 --><phase>test</phase><!-- 这个目标会在测试执行完毕后生成 Jacoco 的报告。报告会根据测试过程中收集的覆盖率数据生成,通常是 HTML 格式的报告。 --><goals><goal>report</goal></goals></execution>
</executions>

2. 配置完成、执行扫描

在这里插入图片描述

3. 执行结果

在这里插入图片描述

4. 单元测试报告

该单元测试报告会在工程target目录下出现:
在这里插入图片描述
使用浏览器打开index.html
在这里插入图片描述

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

相关文章:

  • MySQL purged gtid是如何生成和维护的
  • [创业之路-206]:《华为战略管理法-DSTE实战体系》- 6-关键成功因素法CSF
  • [Unity]【图形渲染】【游戏开发】Shader数学基础4-更多矢量运算
  • 目标检测——基于yolov8和pyqt的螺栓松动检测系统
  • 【Java数据结构】LinkedList
  • 图像处理-Ch4-频率域处理
  • WPS工具栏灰色怎么办
  • 渐开线齿轮和摆线齿轮有什么区别?
  • vulnhub靶场-matrix-breakout-2-morpheus攻略(截止至获取shell)
  • 应用高次、有理代数式为AI生成亚对称图像
  • 潜在狄利克雷分配LDA 算法深度解析
  • [x86 ubuntu22.04]双触摸屏的触摸事件都响应在同一个触摸屏上
  • 重温设计模式--代理模式
  • 一些elasticsearch重要概念与配置参数
  • leetcode 面试经典 150 题:螺旋矩阵
  • JAVA AOP简单实践(基于SpringBoot)
  • java agent的使用【通俗易懂版】
  • 大模型学习指南
  • 单片机:实现定时器中断(数码管读秒+LED闪烁)(附带源码)
  • STM32单片机芯片与内部33 ADC 单通道连续DMA
  • 【0376】Postgres内核 分配 last safe MultiXactId
  • php时间strtotime函数引发的问题 时间判断出错
  • Kibana:LINUX_X86_64 和 DEB_X86_64两种可选下载方式的区别
  • 【LeetCode每日一题】 LeetCode 151.反转字符串中的单词
  • gitlab克隆仓库报错fatal: unable to access ‘仓库地址xxxxxxxx‘
  • 在已有vue cli项目中添加单元测试配置
  • 企业级NoSql数据库REDIS集群
  • HTML与数据抓取:GET与POST方法详解
  • 【es6复习笔记】模板字符串(3)
  • cursor保存更改操作技巧