Запуск Maven во всех тестах, даже если некоторые отказы

У меня есть проект с несколькими модулями. Когда все тесты проходят, тест Maven запускает их все.

Когда тесты не работают в первом модуле, maven не будет продолжать следующий проект. У меня testFailureIgnore установлен в true в настройках Surefire, но это не помогает.

Как заставить maven запускать все тесты?

Ответ 1

Я только что нашел параметр "-fae", который заставляет Maven запускать все тесты и не останавливаться при сбое.

Ответ 2

Из документации:

-fae, --fail-at-end Только сбой сборки после; разрешить все не затронутые сборки

-fn, --fail-never НИКОГДА не выполняйте сборку, независимо от результата проекта

Итак, если вы тестируете один модуль, чем безопасны, используйте -fae.

В противном случае, если у вас несколько модулей и , если вы хотите, чтобы все они были протестированы (даже те, которые зависят от модуля с ошибками тестирования), вы должны запустить mvn clean install -fn.
-fae будет продолжен с модулем, который имеет неудачный тест (будет запускать все остальные тесты), но все модули, которые зависят от него, будут пропущены.

Ответ 3

Можете ли вы протестировать с помощью surefire 2.6 и настроить configurefire с помощью testFailureIgnore=true. Или в командной строке:

mvn install -Dmaven.test.failure.ignore=true

Ответ 4

Попробуйте добавить следующую конфигурацию для плагина surefire в свой pom.xml проекта root:

<project>
  [...]
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <configuration>
          <testFailureIgnore>true</testFailureIgnore>
        </configuration>
      </plugin>
    </plugins>
  </build>
  [...]
</project>

Ответ 5

Быстрый ответ:

mvn -fn test

Работает с вложенными сборками проектов.

Ответ 6

Вы можете попробовать использовать безопасный плагин Maven

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-failsafe-plugin</artifactId>
    <executions>
        <execution>
            <configuration>
             ........
            </configuration>
        </execution>
    </executions>
</plugin>