Maven jUnit5 org.junit.platform.runner, org.junit.platform.suite.api не существует - PullRequest
0 голосов
/ 02 ноября 2019

Использование Eclipse. Возможность запуска тестов из Eclipse IDE, однако «maven install» завершается неудачно и выдает:

package org.junit.platform.runner does not exist
package org.junit.platform.suite.api does not exist
package org.junit.runner does not exist
cannot find symbol  symbol: class RunWith
cannot find symbol  symbol: class SelectClasses

Это мои зависимости файла pom.xml

    <dependencies>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-api</artifactId>
            <version>5.5.2</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-engine</artifactId>
            <version>5.5.2</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

Почему моя IDE способназапустить тестовые сценарии и саму программу, но сборка maven завершается с ошибкой?

Ответы [ 2 ]

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

Использование Юпитера с Maven требует только одной зависимости, как показано здесь: https://github.com/junit-team/junit5-samples/tree/r5.5.2/junit5-jupiter-starter-maven

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

Похоже, я пропустил пару зависимостей (пришлось добавить junit-platform-launcher и junit-platform-runner), также для того, чтобы тесты для запуска на каждой сборке приходилось добавлять плагины сборки. Теперь мой pom.xml выглядит так:

<properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>

        <junit.jupiter.version>5.5.2</junit.jupiter.version>
        <junit.platform.version>1.5.2</junit.platform.version>
    </properties>

    <build>
        <plugins>
            <plugin>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.22.2</version>
            </plugin>
            <plugin>
                <artifactId>maven-failsafe-plugin</artifactId>
                <version>2.22.2</version>
            </plugin>
        </plugins>
    </build>

    <dependencies>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-api</artifactId>
            <version>${junit.jupiter.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-engine</artifactId>
            <version>${junit.jupiter.version}</version>
            <scope>test</scope>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.junit.platform/junit-platform-runner -->
        <dependency>
            <groupId>org.junit.platform</groupId>
            <artifactId>junit-platform-runner</artifactId>
            <version>${junit.platform.version}</version>
            <scope>test</scope>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.junit.platform/junit-platform-launcher -->
        <dependency>
            <groupId>org.junit.platform</groupId>
            <artifactId>junit-platform-launcher</artifactId>
            <version>${junit.platform.version}</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
...