testng.xml文件怎么配置 TestNG测试套件

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 注解已添加,否则测试会静默跳过。