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

Maven Surefire 3.0.0-M5在Quarkus项目中无法识别JUnit5测试

Quarkus项目Maven构建未识别JUnit5测试解决方案

该问题通常由maven-surefire-plugin里程碑版本兼容性缺陷、Quarkus测试依赖缺失、测试类/方法不符合识别规则三类原因导致,可按以下步骤逐一排查解决:

  • 第一步:修正maven-surefire-plugin配置
    3.0.0-M5属于里程碑版本,对JUnit5的原生支持存在兼容性缺陷,建议优先升级到稳定版,若必须保留该版本,需补充JUnit5平台provider依赖。参考配置如下:
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <!-- 优先使用稳定版,无需额外加provider依赖 -->
        <version>3.2.5</version>
        <!-- 若必须使用3.0.0-M5,放开下面的依赖配置 -->
        <!--
        <dependencies>
            <dependency>
                <groupId>org.junit.platform</groupId>
                <artifactId>junit-platform-surefire-provider</artifactId>
                <version>1.9.3</version>
            </dependency>
        </dependencies>
        -->
    </plugin>
    
  • 第二步:补充Quarkus专用测试依赖
    Quarkus项目的测试需要依赖框架提供的集成包,仅引入原生JUnit5依赖无法被识别,需在pom.xml中添加如下依赖。添加该依赖后可删除pom中单独声明的junit-jupiter、junit-jupiter-engine依赖,避免版本冲突。
    <dependency>
        <groupId>io.quarkus</groupId>
        <artifactId>quarkus-junit5</artifactId>
        <scope>test</scope>
    </dependency>
    
  • 第三步:检查测试类与方法规则
    确认所有测试满足以下要求:
    • 测试类存放在src/test/java目录下
    • 测试类命名符合Surefire默认规则:*Test.java、*Tests.java、*TestCase.java
    • 测试方法添加org.junit.jupiter.api.Test注解(不要误用JUnit4的org.junit.Test注解)
  • 第四步:重新执行构建
    执行mvn clean test清理历史缓存后重新运行测试,即可正常识别用例。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 03:15:04