我希望多个包中的所有测试(假设 100 个测试,每个类 1 个)运行 3 次。我可以设置
@Test(invokingCount = SOME_CONSTANT)
但这仍然需要一百次更改。有没有一种方法可以在单个抽象类中设置调用计数(或其他参数),而无需将其添加到每个@Test
?
最佳答案
构建一个像这样的注释转换器实现
public class Transformer implements IAnnotationTransformer {
@Override
public void transform(ITestAnnotation annotation, Class testClass, Constructor testConstructor, Method testMethod) {
int someNumber = 100;
annotation.setInvocationCount(someNumber);
}
}
然后,您可以使用 <listener>
连接此监听器。套件 xml 文件中的标记(或)通过创建服务加载程序文件 META-INF/services/org.testng.ITestNGListener
然后添加 Transformer
的条目到这个文件中。
有关听众的更多信息,您可以查看this我的博客文章。
关于TestNG:全局设置调用计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45593426/