Миграция с 4 июня на 5 июня - тестовый пример пропускается - PullRequest
0 голосов
/ 16 октября 2018

Я перенес свой код junit 4 в junit 5 со следующими зависимостями версий.

 <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-engine</artifactId>
        <version>5.3.1</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.junit.platform</groupId>
        <artifactId>junit-platform-runner</artifactId>
        <version>1.3.1</version>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-junit-jupiter</artifactId>
        <version>2.22.0</version>
        <scope>test</scope>
    </dependency>

Один из моих сценариев использует команду

mvn -B verify -DforkCount=1 -DreuseForks=false

Но проблема, с которой я сталкиваюсьпосле миграции на junit5 во время работы он пропускает тестовый случай.

Я использую maven-surefire-plugin - version 2.22.0.

Во время работы просто напечатайте следующую строку

Выполнено тестов: 0, Сбои: 0, ошибок: 0, пропущено: 0

Я даже попробовал следующие конфигурации, но без помощи

<build>
<plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.22.0</version>
        <configuration>
            <properties>
                <configurationParameters>
                    junit.jupiter.conditions.deactivate = *
                    junit.jupiter.extensions.autodetection.enabled = true
                    junit.jupiter.testinstance.lifecycle.default = per_class
                    junit.jupiter.execution.parallel.enabled = true
                </configurationParameters>
            </properties>
        </configuration>
    </plugin>
</plugins>

Моя версия maven 3.3.9

и не запускает контрольный пример.Любая конкретная причина, почему я сталкиваюсь с этой странной проблемой.Тот же тестовый случай с JUnit 4 ранее работал нормально.

После дальнейшего анализа обнаруженная команда => mvn -B verify -DforkCount=1 -DreuseForks=false не запускает тестовый пример и пропускает их.Но когда я заменяю ту же команду на => mvn -B verify -DforkCount=1 -DreuseForks=true, она начинает работать.Я понимаю, что свойства forkCount = 1 / reuseForks = true, что означает, что maven-surefire-plugin создает один новый процесс JVM для выполнения всех тестов в одном модуле Maven, но хочу знать, почему он не работает с командой mvn -B verify -DforkCount=1 -DreuseForks=false.Требуется ли обновление какой-либо вспомогательной версии maven или maven для перехода на Junit5?

1 Ответ

0 голосов
/ 16 октября 2018

Это известная ошибка в maven-surefire-plugin с JUnit 5.3 [.1] и конфигурацией, которая использует вилки, но не использует их повторно.

Обновление до maven-surefire-plugin 2.22.1 (выпущено в минувшие выходные, 7 октября 2018 г.) решит проблему.

...