testng.xml 是 TestNG 的核心配置文件,用于定义测试套件、测试模块、执行范围、并行策略、参数传递等;其最小结构需包含 suite 根标签、至少一个 test 及 classes 指定完整限定类名。

testng.xml 是 TestNG 的核心配置文件,用来定义测试套件(suite)、测试模块(test)、执行哪些类或方法、是否并行、参数传递等。配置得当,能大幅提高测试组织效率和执行灵活性。
基础结构:从一个可运行的最小配置开始
最简 testng.xml 必须包含 suite 根标签,其下至少一个 test,再嵌套 classes 指定测试类:
- —— 声明 DTD,确保 XML 合法(推荐使用 HTTPS 地址)
-
—— name 属性必填,会显示在报告中 -
—— 每个 test 相当于一个逻辑测试组,name 同样必填 -
—— class 的 name 必须是完整限定类名(含包路径),且类中需有 @Test 方法
按类或包批量指定测试范围
可根据项目结构选择更高效的组织方式:
-
按类配置:适合精准控制,例如只跑某几个关键类
-
按包配置:适合整包回归,支持通配符
- 可在同一
中混用 和 ,TestNG 会合并执行
控制执行行为的关键属性
这些属性写在
- parallel:设为 "methods"、"tests"、"classes" 或 "instances",开启并行;必须配合 thread-count 使用(如 thread-count="3")
- preserve-order="true"(默认):按 XML 中声明顺序执行;设为 false 则允许乱序(提升并发效率但可能掩盖依赖问题)
- verbose="2":控制控制台日志详细程度(0–10),调试时建议设为 2 或更高
- data-provider-thread-count="5":当测试方法使用 @DataProvider 时,控制数据提供者线程池大小
方法级精细控制与分组管理
在类内部进一步筛选要执行的方法,或通过分组统一调度:
-
include/exclude 方法:
-
全局分组定义(在
下):
然后在中用 引用
不复杂但容易忽略:每次修改 testng.xml 后,确保类路径正确、类名拼写无误、@Test 注解已添加,否则测试会静默跳过。










