Как я могу запустить все записи dataProvider в одном классе параллельно? - PullRequest
1 голос
/ 04 ноября 2019

Я настроил свои тесты, где каждая строка в 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>

1 Ответ

0 голосов
/ 04 ноября 2019

Я думаю, что на аналогичный вопрос дан ответ в TestNG параллельного выполнения с DataProvider .

Пролистать пост. должен решить вашу проблему.

ура

...