Как выполнять тесты параллельно TestNG/JUnit?

Параллельное выполнение тестов в TestNG:

TestNG предоставляет встроенную поддержку для параллельного выполнения тестов. Вот несколько способов настроить параллельное выполнение:

  1. Аннотация @Test с параметром parallel:

    @Test(threadPoolSize = 3, invocationCount = 10,  timeOut = 10000)
    public void testMethod() {
        // Тело тестового метода
    }

    Это означает, что метод будет запущен в 3 потоках с общим количеством выполнений 10.

  2. XML-конфигурация:

    Создайте XML-файл для конфигурации, указывающий, какие классы или методы должны выполняться параллельно. Пример:

    <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
    <suite name="Suite1" parallel="classes" thread-count="5">
      <test name="Test1">
        <classes>
          <class name="com.example.TestClass1"/>
          <class name="com.example.TestClass2"/>
        </classes>
      </test>
    </suite>

    Затем запустите тесты с использованием созданного XML-файла.

Параллельное выполнение тестов в JUnit:

JUnit не предоставляет встроенных аннотаций для параллельного выполнения, но можно использовать внешние инструменты или библиотеки. Например, вы можете использовать библиотеку JUnit 5 Parallel Test Execution для JUnit 5.

Пример использования библиотеки для JUnit 5:

@Execution(ExecutionMode.CONCURRENT)
public class MyParallelTest {
    @Test
    public void test1() {
        // Тело тестового метода
    }

    @Test
    public void test2() {
        // Тело тестового метода
    }
}

Last updated