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

文章目录

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

前言

如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。

而且听说点赞的人每天的运气都不会太差,实在白嫖的话,那欢迎常来啊!!!


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

1. 添加pom

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

我的springBoot 版本号如下:

java 复制代码
    <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 插件:

java 复制代码
 <!-- 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>

含义:

java 复制代码
<configuration>
    <dataFile>target/jacoco.exec</dataFile>
    <outputDirectory>target/jacoco</outputDirectory>
</configuration>

dataFile: 指定了存储测试覆盖率数据的文件路径。在这里,覆盖率数据会保存在 target/jacoco.exec 文件中。该文件包含了 Jacoco 在测试期间收集的覆盖率信息。

outputDirectory: 指定了生成的报告文件存放的位置。生成的 HTML 报告将存储在 target/jacoco 目录下。

java 复制代码
<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

相关推荐
weisian15122 分钟前
Redis篇--常见问题篇6--缓存一致性1(Mysql和Redis缓存一致,更新数据库删除缓存策略)
数据库·redis·缓存
记得开心一点嘛1 小时前
高并发处理 --- Caffeine内存缓存库
缓存·caffeine
星蓝_starblue12 小时前
单元测试(UT,C++版)经验总结(gtest+gmock)
单元测试
somdip15 小时前
Log4j1.27配置日志输出级别不起效
log4j
jcLee9518 小时前
Flutter/Dart:使用日志模块Logger Easier
flutter·log4j·dart·logger
666和77718 小时前
C#的单元测试
开发语言·单元测试·c#
Hello.Reader21 小时前
Redis热点数据管理全解析:从MySQL同步到高效缓存的完整解决方案
redis·mysql·缓存
明月看潮生1 天前
青少年编程与数学 02-004 Go语言Web编程 20课题、单元测试
开发语言·青少年编程·单元测试·编程与数学·goweb
麦香--老农1 天前
windows 钉钉缓存路径不能修改 默认C盘解决方案
缓存·钉钉