Тест JUnit 5 не выполняется / не обнаружен - PullRequest
0 голосов
/ 28 сентября 2018

Я использую JUnit 5.3.1 и запускаю тесты с использованием maven.Существует параметризованный тест, который не выполняется.Я использую maven-surefire-plugin, и это из моего pom.xml

<build>
        <plugins>
            <plugin>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.19</version>
                <configuration>
                    <includes>
                        <include>**/*Tests.java,**/*Test.java</include>
                    </includes>
                </configuration>
            </plugin>
...
</build>

Когда я запускаю команду mvn test, это часть вывода:

Running com.growthintel.elastic_plugin.cid_suppressions.CheckCompanyTest Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0 sec - in com.growthintel.elastic_plugin.cid_suppressions.CheckCompanyTest

В файле CheckCompanyTest тестов не обнаружено!Maven обнаруживает файл, но не обнаруживает никаких тестов в файле.Существует ли соглашение по именованию для параметризованных тестов, которому я не следую?Вот тестовый файл:

public class CheckCompanyTest {

        private static Stream<Arguments> getListOfSuppressedFilePaths() {
            ...
        }

        @ParameterizedTest(name = "run #{index} with args: {arguments}")
        @MethodSource("getListOfSuppressedFilePaths")
        public void test_HasSuppressedCid(List<String> cidSuppressionFilePaths) {
            ...
}

Ответы [ 2 ]

0 голосов
/ 28 сентября 2018

Вы можете использовать junit-platform-surefire-engine, как предложено @Niby, или обновить maven-surefire-plugin до 2.22.0 и использовать встроенную поддержку JUnit Jupiter:

<plugin>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.22.0</version> <!-- Here -->
    <configuration>
        <includes>
            <include>**/*Tests.java,**/*Test.java</include>
        </includes>
    </configuration>
</plugin>
0 голосов
/ 28 сентября 2018

JUnit 5 не поддерживается плагином maven.surefire версии 2.19, поэтому вы должны добавить пользовательские provider и engine к плагину, если вам нужно использовать эту версию.

Например:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <dependencies>
        <dependency>
            <groupId>org.junit.platform</groupId>
            <artifactId>junit-platform-surefire-provider</artifactId>
            <version>1.3.1</version>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-engine</artifactId>
            <version>5.3.1</version>
        </dependency>
    </dependencies>
    <configuration>
        <includes>
             <include>**/*Tests.java,**/*Test.java</include>
        </includes>
    </configuration>
</plugin>

Ваша точная версия JUnit 5 может, конечно, отличаться, поэтому обратите внимание на номера версий.

...