Невозможно запустить тесты JUnit внутри проекта Maven в IntelliJ IDEA - PullRequest
0 голосов
/ 14 февраля 2020

У меня есть трехлетний проект Maven, который отлично работал в IntelliJ IDEA 3 года go. Сейчас я пытаюсь вернуться в проект, но больше не могу запускать тесты JUnit. В самих тестах нет ничего необычного, это действительно базовые вещи c @Test и assertTrue. Я подозреваю, что проблема связана с моим pom.xml файлом.

Если я попытаюсь запустить тесты с оригинальным файлом pom. xml из 3 лет go, я получаю сообщение об ошибке "Тесты не найдены" , Я попытался обновить свои зависимости, и после обновления я получил другую ошибку: java.lang.NoSuchMethodError: 'java.util.Optional org.junit.jupiter.api.extension.ExtensionContext.getTestInstanceLifecycle()'. Кажется, это какая-то внутренняя ошибка от JUnit. Я потратил 1 час на поиск в Google, и я случайно попробовал различные способы установки зависимостей, но пока ничего не работает.

Как должен выглядеть файл pom.xml, чтобы разрешить basi c Тесты JUnit для запуска в проекте Maven в IntelliJ IDEA 2019.3.2 Community Edition?

Здесь - это файл pom. xml за 3 года go.

1 Ответ

1 голос
/ 14 февраля 2020

В целом вы должны создать зависимость от junit-jupiter-engine, а не от API (движок выдаст API) и обновить версию плагина surefire, который запускает тесты:

    <dependencies>

        <!-- junit 5 -->
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-engine</artifactId>
            <version>5.6.0</version>
            <scope>test</scope>
        </dependency>

    </dependencies>
    ...
     <build>
        <plugins>

            <!-- Requires at least 2.22.0 otherwise junit 5 doesn't work-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>3.0.0-M3</version>
            </plugin>
          ...
         </plugins>
   </build>

В этом уроке вы можете найти рабочий пример минимальной настройки (который довольно близок вам c pom. xml)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...