TestNG能否在类级别设置优先级?如下代码优先级是否生效?哪个类先执行?
TestNG类级别优先级设置问题解答
核心结论
TestNG不支持在类级别通过@Test(priority)设置执行优先级,你代码里类上的priority配置完全不会生效。
针对你的代码示例分析
- 类级别的
@Test注解本身不符合TestNG的设计逻辑:@Test注解的作用是标记测试方法,类上添加@Test并不会让整个类被当作测试方法,TestNG也不会读取类上携带的priority参数。 - 此时测试类的执行顺序完全由
testng.xml中<classes>标签下的类顺序决定——你配置里先写了PositiveTests,再写NegativeTests,所以会先执行PositiveTests,再执行NegativeTests。
控制测试类执行顺序的正确方式
如果需要指定测试类的执行顺序,推荐这些方法:
- 直接调整
testng.xml中<classes>下的类排列顺序(最直观简单) - 使用方法级
@Test的dependsOnGroups/dependsOnMethods属性,通过方法依赖间接控制类的执行顺序 - 自定义TestNG监听器(如实现
IAnnotationTransformer)来改写执行逻辑
内容的提问来源于stack exchange,提问作者Prerana Gupta
相关产品推荐
相关产品推荐

