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

JUnit5+Surefire环境下同时运行pom指定测试与额外测试类的方法

解决方案

场景1:pom中仅配置了基础include规则、无复杂自定义排除逻辑(绝大多数常规项目场景)

无需修改任何项目配置,直接使用以下单条命令即可实现需求,只会触发一次测试构建流程:

mvn test -Dtest="*,ExtraTestClass"

命令中的*会匹配所有原有默认mvn test会执行的测试类,逗号后追加的ExtraTestClass会额外运行不在原有include范围内的指定测试类。
注意:该写法优先级高于pom中配置的exclude规则,如果你原有配置有自定义排除的测试类,该写法会把这些排除类也纳入执行范围,有这类需求请用下方案

场景2:pom中有复杂自定义include/exclude规则

只需要做一次轻量的pom配置改造,后续即可无侵入追加任意测试类执行,完全不影响原有默认测试逻辑:

  1. 在pom.xml的properties节点新增默认测试包含规则的属性占位符,把原有surefire配置的全部include规则挪到该属性中:
<properties>
    <!-- 示例为原有include规则,按你实际配置填写即可,多条规则用逗号分隔 -->
    <default.test.includes>**/biz/*Test.java,**/service/*Test.java</default.test.includes>
</properties>
  1. 调整surefire插件的include配置为引用上述属性:
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>3.2.2</version> <!-- 保持你现有版本即可,2.22.0+版本均支持该特性 -->
    <configuration>
        <includes>
            <include>${default.test.includes}</include>
        </includes>
        <!-- 原有其余配置保持不变 -->
    </configuration>
</plugin>
  1. 需要追加ExtraTestClass执行时,运行以下命令即可:
mvn test -Ddefault.test.includes="${default.test.includes},**/ExtraTestClass.java"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 15:48:02