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

相关推荐
-Xie-2 天前
Mysql杂志(十六)——缓存池
数据库·mysql·缓存
七夜zippoe2 天前
缓存与数据库一致性实战手册:从故障修复到架构演进
数据库·缓存·架构
weixin_456904272 天前
跨域(CORS)和缓存中间件(Redis)深度解析
redis·缓存·中间件
MarkHard1232 天前
如何利用redis使用一个滑动窗口限流
数据库·redis·缓存
心想事成的幸运大王3 天前
Redis的过期策略
数据库·redis·缓存
wuyunhang1234563 天前
Redis---集群模式
数据库·redis·缓存
没有bug.的程序员3 天前
Redis 大 Key 与热 Key:生产环境的风险与解决方案
java·数据库·redis·缓存·热key·大key
wuyunhang1234563 天前
Redis----缓存策略和注意事项
redis·缓存·mybatis
零雲3 天前
除了缓存,我们还可以用redis做什么?
数据库·redis·缓存
梦中的天之酒壶3 天前
多级缓存架构
缓存·架构