我正在尝试使用testng执行并行运行。 我试图并行测试4次。但它只运行一次。
的testng.xml
<suite name="My suite" parallel="methods" thread-count="4">
<test name="Default test" group-by-instances="true">
<classes>
<class name="org.com.DemoClass"/>
</classes>
</test> <!-- Default test -->
</suite> <!-- Default suite -->
演示课。
public class DemoClass {
@Test
public void method1() throws InterruptedException {
long id = Thread.currentThread().getId();
System.out.println("Before test-method. Thread id is: " + id);
}
}
请提供宝贵的建议。
答案 0 :(得分:0)
您可以尝试向@Test
注释添加参数:
@Test(threadPoolSize = 4, invocationCount = 4)
这将从4个不同的线程中调用您的测试四次。
答案 1 :(得分:0)
如果您需要的是,您编写的每个@Test带注释的方法都需要执行“n”次(并行或按顺序执行),而无需显式添加invocationCount
属性你自己应该利用IAnnotationTransformer使用它来动态更改@Test
带注释方法的值。您可以尝试使用<listeners>
标记或服务加载程序通过套件文件注入此侦听器。有关听众的更多一般信息,您可以查看我的this博客文章。