Ответ 1
Я только что нашел параметр "-fae", который заставляет Maven запускать все тесты и не останавливаться при сбое.
У меня есть проект с несколькими модулями. Когда все тесты проходят, тест Maven запускает их все.
Когда тесты не работают в первом модуле, maven не будет продолжать следующий проект. У меня testFailureIgnore установлен в true в настройках Surefire, но это не помогает.
Как заставить maven запускать все тесты?
Я только что нашел параметр "-fae", который заставляет Maven запускать все тесты и не останавливаться при сбое.
Из документации:
-fae
,--fail-at-end
Только сбой сборки после; разрешить все не затронутые сборки
-fn
,--fail-never
НИКОГДА не выполняйте сборку, независимо от результата проекта
Итак, если вы тестируете один модуль, чем безопасны, используйте -fae
.
В противном случае, если у вас несколько модулей и , если вы хотите, чтобы все они были протестированы (даже те, которые зависят от модуля с ошибками тестирования), вы должны запустить mvn clean install -fn
. -fae
будет продолжен с модулем, который имеет неудачный тест (будет запускать все остальные тесты), но все модули, которые зависят от него, будут пропущены.
Можете ли вы протестировать с помощью surefire 2.6 и настроить configurefire с помощью testFailureIgnore=true
. Или в командной строке:
mvn install -Dmaven.test.failure.ignore=true
Попробуйте добавить следующую конфигурацию для плагина 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>
Быстрый ответ:
mvn -fn test
Работает с вложенными сборками проектов.
Вы можете попробовать использовать безопасный плагин Maven
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<executions>
<execution>
<configuration>
........
</configuration>
</execution>
</executions>
</plugin>