Maven не может найти тест - PullRequest
0 голосов
/ 30 мая 2019

Я копирую pom.xml с похожим проектом, все было в порядке. Добавьте необходимые зависимости. Также я добавляю Юпитер с областью «compile», иначе проект не скомпилируется. Я пытаюсь найти решение подобных проблем, но ничего не найдено.

Env: ubuntu 18, идея 2018.3, openjdk8, последняя версия maven.

Я пытаюсь изменить более новую или старую версию junit, плагин surefire и junit-platform-surefire-provider, но не вижу нужной комбинации.

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <java.version>1.8</java.version>
    <junit.api.version>5.4.0</junit.api.version>
    <junit.jupiter.version>5.4.0</junit.jupiter.version>
    <junit.platform.version>1.3.1</junit.platform.version>
    <aspectj.version>1.9.4</aspectj.version>
    <allure.version>2.12.1</allure.version>
</properties>

<dependencies>
    <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-engine</artifactId>
        <version>${junit.jupiter.version}</version>
    </dependency>
    <dependency>
        <groupId>io.qameta.allure</groupId>
        <groupId>io.qameta.allure</groupId>
        <artifactId>allure-junit5</artifactId>
        <version>${allure.version}</version>
    </dependency>
    <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-api</artifactId>
        <version>5.4.0</version>
        <scope>compile</scope>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.22.2</version>
            <configuration>
                <testFailureIgnore>false</testFailureIgnore>
                <argLine>
                    -javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
                </argLine>
                <systemProperties>
                    <property>
                        <name>junit.jupiter.extensions.autodetection.enabled</name>
                        <value>true</value>
                    </property>
                </systemProperties>
            </configuration>
            <dependencies>
                <dependency>
                    <groupId>org.junit.platform</groupId>
                    <artifactId>junit-platform-surefire-provider</artifactId>
                    <version>1.3.2</version>
                </dependency>
                <dependency>
                <groupId>org.aspectj</groupId>
                <artifactId>aspectjweaver</artifactId>
                <version>${aspectj.version}</version>
                </dependency>
            </dependencies>
        </plugin>
        <plugin>
            <groupId>io.qameta.allure</groupId>
            <artifactId>allure-maven</artifactId>
            <version>LATEST_VERSION</version>
            <configuration>
                <reportVersion>2.4.1</reportVersion>
            </configuration>
        </plugin>
    </plugins>
</build>

1 Ответ

0 голосов
/ 31 мая 2019

По умолчанию плагин maven Surefire ожидает, что имена ваших тестовых файлов соответствуют следующим условиям:

  • **/Test*.java - включает все его подкаталоги и все Java имена файлов, начинающиеся с «Test».
  • **/*Test.java - включает в себя все его подкаталоги и все имена файлов Java, оканчивающиеся на «Test».
  • **/*Tests.java - включает все его подкаталоги и все Java имена файлов, которые заканчиваются на «Тесты».
  • **/*TestCase.java - включает в себя все его подкаталогов и все имена файлов Java, которые заканчиваются на "TestCase".

Если вы проверяете имена файлов, не соответствующие вышеуказанным критериям, у вас есть два варианта. Прежде всего измените имена тестовых файлов, чтобы они соответствовали вышеуказанным критериям. Во-вторых, вы можете изменить критерии включения, настроив подключаемый модуль maven-surefire-101 * *

<project>
  [...]
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>3.0.0-M3</version>
        <configuration>
          <includes>
            <include>%regex[.*(Cat|Dog).*Test.*]</include>
          </includes>
        </configuration>
      </plugin>
    </plugins>
  </build>
  [...]
</project>

Для получения дополнительной информации посмотрите документацию по плагину maven-surefire-* .

...