You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Eclipse中结合Maven、Gradle查看特定测试类的SonarQube代码覆盖率

在Eclipse中结合Maven/Gradle查看特定测试类的SonarQube代码覆盖率

Maven 方案

步骤1:配置Surefire插件指定测试类

在项目的pom.xml中,给Surefire插件添加测试类过滤规则,替换成你要单独分析的测试类全限定路径:

<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-surefire-plugin</artifactId>
      <version>3.2.5</version>
      <configuration>
        <!-- 单个测试类 -->
        <includes>
          <include>com/yourpackage/YourTargetTest.java</include>
        </includes>
        <!-- 多个测试类可添加多个include节点 -->
      </configuration>
    </plugin>
  </plugins>
</build>

步骤2:生成覆盖率报告并提交到SonarQube

在Eclipse的Maven视图中,执行以下命令(或直接在项目根目录终端运行):

mvn clean test jacoco:report sonar:sonar
  • clean:清理历史构建文件,避免干扰
  • test:仅运行你指定的测试类
  • jacoco:report:生成仅对应这些测试的代码覆盖率报告
  • sonar:sonar:将覆盖率数据同步到SonarQube服务器

步骤3:查看结果

打开SonarQube网页端进入你的项目,此时展示的就是该测试类覆盖的代码覆盖率。若要恢复全量测试覆盖率,只需移除Surefire插件的includes配置,重新执行上述命令即可。

Gradle 方案

步骤1:配置Test任务指定测试类

在项目的build.gradle中,修改test任务添加测试类过滤规则,替换成目标测试类的全限定名:

test {
  // 单个测试类(支持通配符,比如*Test.class)
  include 'com/yourpackage/YourTargetTest.class'
  // 多个测试类可添加多条include语句
  // include 'com/yourpackage/AnotherTargetTest.class'

  // 启用JaCoCo生成覆盖率报告
  jacoco {
    enabled = true
  }
}

步骤2:执行构建并提交到SonarQube

在Eclipse的Gradle视图中,执行以下任务(或终端运行):

./gradlew clean test jacocoTestReport sonar
  • clean:清理旧构建产物
  • test:仅运行指定的测试类
  • jacocoTestReport:生成对应测试的覆盖率报告
  • sonar:将报告同步到SonarQube

步骤3:查看结果

进入SonarQube项目页面,即可看到仅目标测试类的代码覆盖情况。恢复全量测试只需删除test任务中的include配置。

Eclipse 本地快捷操作

  • 无需修改构建文件的临时方案:右键单个测试类,选择Run As > JUnit Test,安装Eclipse Marketplace的JaCoCo插件后,可直接在Eclipse中查看本地覆盖率,再结合SonarQube的局部分析。
  • Maven项目可在Run Configuration的Maven Build中,在Goals栏填入clean test -Dtest=YourTargetTest,直接指定测试类运行,无需修改pom.xml。
  • Gradle项目可在Run Configuration的Gradle Task中,添加参数test --tests "com.yourpackage.YourTargetTest",快速运行指定测试类。

内容的提问来源于stack exchange,提问作者subhashis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 20:55:24