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

使用RestAssured结合TestNG进行API测试时遭遇“No tests found. Nothing was run”错误求助

排查TestNG "No tests found. Nothing was run" 问题

针对你遇到的这个问题,我从你提供的配置文件和描述里梳理了几个关键排查点,你可以逐一检查:

1. 修正testng.xml的配置错误

你的testng.xml里有两处明显问题:

  • test标签的name属性无效:name="C:/Users/EXT02D49935/IdeaProjects/LifeboxAutomation"这个路径是错误的用法,name属性应该是测试集的自定义名称,比如改成name="API Authentication Tests"。
  • 类的全限定名不完整:TestNG需要完整的「包名+类名」才能定位到测试类,比如如果PreReq.payload类在com.lifebox.test包下,应该写成com.lifebox.test.PreReq.payload;同理Album类也要补充完整包路径,比如com.lifebox.test.Album。
  • 测试方法必须带@Test注解:userAuth方法必须添加org.testng.annotations.Test注解,TestNG只会识别带该注解的方法作为测试用例,无注解的方法会被直接忽略。

修正后的testng.xml示例:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="All Test Suite">
  <test verbose="2" name="API Authentication Tests">
    <classes>
      <!-- 替换为你的实际全限定类名 -->
      <class name="com.lifebox.test.PreReq.payload">
        <methods>
          <include name="userAuth"/>
        </methods>
      </class>
      <!-- 替换为Album类的实际全限定名 -->
      <class name="com.lifebox.test.Album"/>
    </classes>
  </test>
</suite>

2. 检查测试类的基础规范

  • 确保你的测试类(payload、Album)和测试方法(比如userAuth)都是public修饰的,TestNG无法识别非public的测试类/方法。
  • 确认@Test注解导入的是org.testng.annotations.Test,而不是JUnit的org.junit.Test——这是新手常混淆的点。

3. 优化pom.xml配置

  • 升级TestNG版本:你当前使用的6.14.3是较旧的版本,建议升级到最新稳定版(比如7.10.2),新版本修复了很多兼容性问题,修改依赖如下:
<dependency>
  <groupId>org.testng</groupId>
  <artifactId>testng</artifactId>
  <version>7.10.2</version>
  <scope>test</scope>
</dependency>
  • 添加maven-surefire-plugin:如果用Maven运行测试,需要这个插件来识别并执行TestNG测试,在pom.xml的build节点下补充:
<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-surefire-plugin</artifactId>
      <version>3.2.5</version>
      <configuration>
        <suiteXmlFiles>
          <suiteXmlFile>testng.xml</suiteXmlFile>
        </suiteXmlFiles>
      </configuration>
    </plugin>
  </plugins>
</build>

4. 确认测试类的存放位置

默认情况下,Maven会把src/test/java目录下的类当作测试类,确保你的payload和Album类放在这个目录下,而非src/main/java,否则Maven和TestNG可能无法识别它们。

如果做完以上调整仍有问题,建议补充主类的TestNG配置代码以及测试类的完整代码,这样能更精准地定位问题。

内容的提问来源于stack exchange,提问作者Mert çevik

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.27 21:57:37