Как запустить параллельный тест jUnit5 при весенней загрузке - огурец версии 5 и более - PullRequest
2 голосов
/ 10 марта 2020

Для тестирования инфраструктуры были использованы следующие стек технологий: Java, Maven, Selenium, Junit, Cucumber, Spring Boot, YAML

cucumber.version = 5.4.0. Cucumber-JVM теперь имеет поддержку JUnit5 и мы можем использовать параллель, который я пытался добавить -Dcucumber.execution.parallel.enabled = true -Dcucumber.execution.parallel.config.strategy = dynamici c

https://github.com/cucumber/cucumber-jvm/blob/master/release-notes/v5.0.0.md

было использовано:

            <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>${maven-surefire-plugin.version}</version>
            <configuration>
                <includes>
                    <include>**/RunCucumberIT.java</include>
                    <release>11</release>
                </includes>
                <!--                    <parallel>methods</parallel>-->
                <!--                    <threadCount>4</threadCount>-->
            </configuration>
        </plugin>

1 Ответ

1 голос
/ 11 марта 2020

Вы можете предоставить опции, добавив файл junit-platform.properties в ваш classpath root. Например:

src/test/resources/junit-platform.properties

cucumber.execution.parallel.enabled=true
cucumber.execution.parallel.config.strategy=fixed
cucumber.execution.parallel.config.fixed.parallelism=10

Вы также можете передать опции платформе JUnit через поле параметра Surefires / Failsafes configurationParameters.

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-failsafe-plugin</artifactId>
    <version>3.0.0-M3</version>
    <configuration>
        <properties>
            <configurationParameters>
                cucumber.execution.parallel.config.fixed.parallelism=24
            </configurationParameters>
        </properties>
    </configuration>
</plugin>

И так как огурец это механизм платформы JUnit, вы также можете использовать любой другой способ передачи параметра конфигурации в JUnit Platform .

Обратите внимание, что -D не будет работать, потому что верный запуск запускает новый JVM, для этого вам придется использовать `-DargLine = '....' .

...