用途:系统掌握 TestNG 基础,用于 Java 单元、功能、端到端与集成测试的编写与组织。
主要能力:覆盖 @BeforeSuite/@BeforeTest/@BeforeClass/@BeforeMethod 等生命周期注解及 @Test 属性(description、enabled、priority、groups、dependsOnMethods、dependsOnGroups、timeOut、invocationCount、threadPoolSize、expectedExceptions);提供 Assert 硬断言与 SoftAssert 软断言;支持 testng.xml 套件、分组、参数配置;支持 @Parameters 与 @Optional 传参、@BeforeGroups/@AfterGroups、组依赖;可自定义 ITestListener 监听器并按注解或 XML 注册。
使用方式:Maven 添加 org.testng:testng:7.9.0 依赖并配置 maven-surefire-plugin 的 suiteXmlFile;Gradle 使用 testImplementation 'org.testng:testng:7.9.0' 并加 useTestNG()。通过 testng.xml 定义 suite/test、类与包、include/exclude 分组及参数。
适用场景:新项目搭建、编写测试、套件配置、分组与依赖管理、自定义监听器、排查失败、从 JUnit 迁移及团队培训。
限制与注意:资料未提供收费、价格、平台及具体执行命令等信息;测试应尽量独立,避免顺序依赖、共享可变状态、循环依赖、缺少断言或超时及清理不当,谨慎使用 enabled=false 隐藏失败。