集成 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

相关推荐
一个有温度的技术博主1 小时前
Redis AOF持久化:用“记账”的方式守护数据安全
redis·分布式·缓存
刘~浪地球6 小时前
Redis 从入门到精通(九):事务详解
数据库·redis·缓存
一个有温度的技术博主10 小时前
告别“竹篮打水”:Redis单点瓶颈与分布式缓存架构全解析
redis·分布式·缓存
一个有温度的技术博主11 小时前
Redis RDB持久化原理:一次快照背后的“分身术”与“读心术”
数据库·redis·缓存
无尽的罚坐人生11 小时前
460. LFU 缓存
缓存
李昊哲小课12 小时前
pip缓存配置
python·缓存·pip
手握风云-12 小时前
Redis:不只是缓存那么简单(二)
redis·缓存
一个有温度的技术博主12 小时前
告别单点瓶颈:Redis主从架构与读写分离实战
redis·分布式·缓存·架构
清水白石00812 小时前
《从缓存到数据库:一致性之痛与工程之道》
数据库·python·缓存
刘~浪地球15 小时前
Redis 从入门到精通(十):管道技术
数据库·redis·缓存