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

相关推荐
吾日三省吾码2 小时前
Spring 团队详解:AOT 缓存实践、JSpecify 空指针安全与支持策略升级
java·spring·缓存
不凡的凡14 小时前
鸿蒙图片缓存(一)
缓存
多多*14 小时前
微服务网关SpringCloudGateway+SaToken鉴权
linux·开发语言·redis·python·sql·log4j·bootstrap
潘yi.17 小时前
Redis哨兵模式
数据库·redis·缓存
唐墨12320 小时前
LRU 和 DiskLRU实现相册缓存器
缓存
AI+程序员在路上21 小时前
单元测试与QTestLib框架使用
开发语言·c++·单元测试
IT_Octopus21 小时前
多线程下使用缓存+锁Lock, 出现“锁失效” + “缓存未命中竞争”的缓存击穿情况,双重检查缓存解决问题
java·spring·缓存
MuYiLuck1 天前
【redis实战篇】第八天
数据库·redis·缓存
互联网搬砖老肖1 天前
Web 架构之缓存策略实战:从本地缓存到分布式缓存
前端·缓存·架构
蔡蓝2 天前
设计模式-迪米特法则
设计模式·log4j·迪米特法则