一、JaCoCo简介

JaCoCo(Java Code Coverage)是一款开源的 Java 代码覆盖率工具,支持 行覆盖率、分支覆盖率、方法覆盖率 等指标。
它通常与构建工具(Maven、Gradle)集成,生成 HTML/XML 格式的覆盖率报告

二、安装与配置

1、 通过 Maven 配置

添加 JaCoCo 插件
在项目的 pom.xml 中添加以下配置:

 			<build>
    <plugins>
        <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <version>0.8.10</version> <!-- 使用最新版本 -->
            <executions>
                <execution>
                    <goals>
                        <goal>prepare-agent</goal> <!-- 启动覆盖率代理 -->
                    </goals>
                </execution>
                <execution>
                    <id>report</id>
                    <phase>test</phase> <!-- 在测试阶段生成报告 -->
                    <goals>
                        <goal>report</goal> <!-- 生成 HTML/XML 报告 -->
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

在这里插入图片描述

三、运行测试并生成报告

1、执行以下命令:

mvn clean test  # 运行测试并生成覆盖率数据(jacoco.exec)
mvn jacoco:report  # 生成 HTML 报告(默认在 target/site/jacoco/index.html)

2、查看报告,路径为target/site/jacoco/index.html

在这里插入图片描述

3、报告展示

在这里插入图片描述

4、报告详情展示

在这里插入图片描述

四、总览页面:

行覆盖率(Line Coverage):覆盖的代码行百分比。

分支覆盖率(Branch Coverage):覆盖的代码分支(如 if/else)百分比。

方法覆盖率(Method Coverage):覆盖的方法百分比。

类覆盖率(Class Coverage):覆盖的类百分比。

五、详细页面:

点击包名 → 类名 → 进入代码行级覆盖详情。

绿色:已覆盖的代码行。

红色:未覆盖的代码行。

黄色:部分覆盖的分支(如 if 条件仅满足一种情况)。

六、定位并修复问题

常见问题类型

问题类型 现象 解决方法
未覆盖行 代码行标记为红色 补充测试用例调用该行代码
未覆盖分支 分支条件未完全满足 增加测试用例覆盖所有分支条件
无用代码 代码被覆盖但实际无用 删除未使用的代码
异常路径 异常处理逻辑未覆盖 添加测试触发异常场景
Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐