Я настроил свои тесты, где каждая строка в dataProvider
создает новый экземпляр класса test и запускает несколько тестов с переданными данными. Я хочу, чтобы все тесты выполнялись одновременно, однако, когда я запускаю тестыпри текущей настройке создается экземпляр теста a
и запускается первый метод, затем создается экземпляр теста b
, запускается первый метод и т. д. Я хочу, чтобы все * a,b,c
тесты выполнялись одновременнобок о бок, не дожидаясь друг друга, чтобы закончить / двигаться поэтапно.
Я достиг этого параллельного поведения, создав 3 отдельных файла классов с отдельными поставщиками данных с одной строкой уникальных данных и затем вызвав parallel="classes"
,но как бы мне все это сделать в одном классе?
public class Class1 {
@DataProvider(name = "provider", parallel = true)
public static Object[][] dataProviderSetup() {
return new Object[][] { { "a", "1", "first" }, { "b", "2", "second" }, { "c", "3", "third" } };
}
@Factory(dataProvider="provider")
public CG_AX_001(String var1, String var2, String var3) {
this.var1 = var1;
this.var2 = var2;
this.var3 = var3;
}
@Test()
public void f1() {
//
}
}
<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd">
<suite name="suite1" verbose="1" preserve-order="true" data-provider-thread-count="3">
<test name="test1" preserve-order="true">
<classes>
<class name="package.Class1" />
</classes>
</test>