@borisovdenis

Почему не прогоняются JUnit тесты в maven?

Суть: Был маленький учебный проект на Java 1.5. Все в нем работало, и тесты тоже прогонялись. Такой вот pom.xml. Который был сгенерен из архитипа quickstart.
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>ru.intodayer</groupId>
  <artifactId>test-arraylist</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>test-arraylist</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>

  <dependency>
    <groupId>org.junit.jupiter</groupId>
    <artifactId>junit-jupiter-api</artifactId>
    <version>5.0.0</version>
    <scope>test</scope>
  </dependency>

</dependencies>
</project>

Но потом было необходимо добавить работу с интерфейсом Predicate с имплементацией в виде лямбды (это условие задачи). И т.к. лямбды поддерживаются с Java 8. Нужно было в pom.xml в блоке properties добавить вот что:
<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>
    </properties>


Не знаю точно после этого или нет, но это могло послужить причиной, тесты не прогоняются. Вот что я вижу каждый раз когда выполняю команду mvn test.
Tests run: 0, Failures: 0, Errors: 0, Skipped: 0
Команду mvn clean выполнял.
Помогите, пожалуйста, решить проблему. По-любому, просто что-то не так делаю!
  • Вопрос задан
  • 4005 просмотров
Пригласить эксперта
Ответы на вопрос 2
@seralekseenko
Только-что столкнулся с этой же проблемой.

Экспериментальным путем выяснил, что нужно добавить в зависимости и в плагины maven-surefire-plugin.

Пример из pom.xml:

.............
<dependencies>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter</artifactId>
            <version>5.6.2</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.22.2</version>
        </dependency>
    </dependencies>

    <build>
        <directory>${project.basedir}/target</directory>
        <outputDirectory>${project.build.directory}/classes</outputDirectory>
        <plugins>
            <plugin>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.22.2</version>
            </plugin>
        </plugins>
    </build>
.........


Зависимости от junit-platform-runner, в данном вопросе, я не почувствовал в своем проекте.
Ответ написан
Комментировать
TheKnight
@TheKnight
Программист
Гуглить пробовал?Тык!
В конце статьи есть пример pom.xml. В нем не сложно разобраться и попробовать прописать что нужно. Если не поможет - будем разбираться дальше.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы