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

从Java Hello World代码生成的TestNG.xml是否有效?我遗漏了什么?

问题解答

1. 这个TestNG XML是否有效?

语法上是有效的,它完全符合TestNG的DTD规范,结构完整无语法错误,但这是一个空测试套件,没有任何实际要执行的测试内容,运行它不会执行任何代码。

2. 为什么XML里没有关联"Hello!"相关内容?

你的Java类是普通的带main方法的类,不是TestNG认可的测试类。TestNG只会识别带有@Test注解的方法作为测试用例,main方法是Java程序的入口,不属于TestNG的测试元素范畴。因此执行"Convert to TestNG"时,插件找不到可关联的测试方法/类,生成的XML自然没有相关配置。

3. 遗漏的配置和修正步骤

你需要把普通Java类改成TestNG测试类,具体步骤如下:

  • 修改Java代码:导入TestNG的@Test注解,把输出逻辑放到带注解的方法中(无需保留main方法):
package testMy;

import org.testng.annotations.Test;

public class testMy {
    @Test
    public void sayHello() {
        System.out.println("Hello!"); 
    }
}
  • 重新生成TestNG XML:再次右键项目选择"Convert to TestNG",此时插件会识别到带有@Test注解的方法,生成的XML会自动包含该测试类的配置,示例如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd">
<suite name="Suite">
  <test thread-count="5" name="Test">
    <classes>
      <class name="testMy.testMy"/>
    </classes>
  </test> <!-- Test -->
</suite> <!-- Suite -->
  • 确保TestNG依赖正确:如果是Maven/Gradle项目,需在依赖中添加TestNG;如果是普通Java项目,要通过Eclipse的Build Path添加TestNG库,保证@Test注解能被识别。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 14:55:25