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

Maven构建及执行clean test时TestNG测试未运行该如何配置?

问题解决方案

问题根因

你遇到的测试不执行问题主要由两个原因导致:

  • maven-surefire-plugin没有显式配置TestNG执行器,且项目同时引入了JUnit Jupiter和TestNG依赖,插件默认优先匹配JUnit执行逻辑,无法识别TestNG注解的测试用例
  • 测试代码混合使用了JUnit和TestNG的注解,两种框架注解互不兼容,会导致测试用例识别异常

修复步骤

1. 调整maven-surefire-plugin配置

修改pom.xml中maven-surefire-plugin的配置,显式指定使用TestNG执行测试,配置示例如下:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>3.0.0-M5</version>
    <configuration>
        <!-- 显式指定TestNG作为测试执行引擎 -->
        <testNGArtifactName>org.testng:testng</testNGArtifactName>
        <!-- 如果有自定义testng.xml套件配置,可以放开下面的配置指定文件路径 -->
        <!--
        <suiteXmlFiles>
            <suiteXmlFile>src/test/resources/testng.xml</suiteXmlFile>
        </suiteXmlFiles>
        -->
        <!-- 按需指定要执行的测试组,比如只执行multiple_runs组的测试 -->
        <!-- <groups>multiple_runs</groups> -->
    </configuration>
    <dependencies>
        <!-- 引入TestNG专属的surefire执行器 -->
        <dependency>
            <groupId>org.apache.maven.surefire</groupId>
            <artifactId>surefire-testng</artifactId>
            <version>3.0.0-M5</version>
        </dependency>
    </dependencies>
</plugin>

2. 统一测试框架注解

你当前的测试代码混用了JUnit Jupiter和TestNG的注解,需要把JUnit的注解替换为TestNG对应的实现:

原JUnit注解替换为TestNG对应配置
@org.junit.jupiter.api.Tag合并到@org.testng.annotations.Test的groups属性中
@org.junit.jupiter.api.Order替换为@org.testng.annotations.Test的priority属性
@org.junit.jupiter.api.Timeout替换为@org.testng.annotations.Test的timeOut属性(单位为毫秒)

修改后的测试方法注解示例:

@Test(
    testName = "52333 Mobile Web - Reload a page to refresh it", 
    groups = { "multiple_runs", "description" },
    priority = 1,
    timeOut = 80000
)
public void Mobile_Web_Reload_a_page_to_refresh_it_52333() throws InterruptedException {
    // 测试逻辑不变
}

3. 验证路径配置

确认所有TestNG测试类都放在src/test/java目录下,类名符合surefire默认的测试类匹配规则(默认匹配**/*Test.java命名格式的类,你当前的ReloadPageTest符合要求)。

配置完成后执行mvn clean test命令即可正常触发TestNG测试执行。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 19:45:09