我正在尝试与Data Provider并行执行testng测试。数据提供者的每个输入都将是一个新的测试
对于并行执行,我添加了与数据提供者并行的属性。 threadPoolSize来测试。
我在eclipse中运行命令行参数Run Configuration -parallel methods -dataproviderthreadcount 2
下面是目前为止尝试过的代码段
public class DemoTest {
@Test(dataProvider = "dp",invocationCount=1,threadPoolSize=2)
public void f(Integer n, String s) {
System.out.println("id:"+Thread.currentThread().getId()+" n:"+n+" s:"+s);
}
@BeforeMethod
public void beforeMethod() {
}
@AfterMethod
public void afterMethod() {
}
@DataProvider(parallel=true)
public Object[][] dp() {
return new Object[][] {
new Object[] { 1, "a" },
new Object[] { 2, "b" },
new Object[] { 3, "c" },
new Object[] { 4, "d" },
new Object[] { 5, "e" },
new Object[] { 6, "f" },
new Object[] { 7, "g" },
new Object[] { 8, "h" },
new Object[] { 9, "i" },
new Object[] { 10,"j" }
};
}
}
输出:
id:10 n:1 s:a
id:14 n:5 s:e
id:17 n:8 s:h
id:13 n:4 s:d
id:11 n:2 s:b
id:15 n:6 s:f
id:12 n:3 s:c
id:19 n:10 s:j
id:18 n:9 s:i
id:16 n:7 s:g
为每个输入创建一个新线程,但我只想创建两个线程。