У меня есть проект с несколькими модулями. Когда все тесты пройдены, тест Maven запускает их все.
Когда тесты не пройдены в первом модуле, maven не перейдет к следующему проекту. У меня для testFailureIgnore установлено значение true в настройках Surefire, но это не помогает.
Как заставить maven запускать все тесты?
Ответы:
Из документации Maven Embedder :
Так что, если вы тестируете один модуль, вы можете безопасно его использовать
-fae
.В противном случае, если у вас есть несколько модулей, и если вы хотите, чтобы все они были протестированы (даже те, которые зависят от сбойного модуля тестов), вы должны запустить
mvn clean install -fn
.-fae
продолжит работу с модулем, который прошел неудачный тест (запустит все остальные тесты), но все зависящие от него модули будут пропущены.источник
--fail-never
. Maven не завершит сборку, даже если будут ошибки компиляции. Если я использую эту опцию в Jenkins, сборка выглядит успешной, даже если в ней много ошибок компиляции. Я предпочитаю-Dmaven.test.failure.ignore=true
в этом случае, и пусть Дженкинс проанализирует достоверные отчеты.Я только что нашел параметр "-fae", который заставляет Maven запускать все тесты и не останавливаться при сбое.
источник
Можете ли вы протестировать с верным 2.6 и настроить верный с
testFailureIgnore=true
. Или в командной строке:источник
Попробуйте добавить следующую конфигурацию для плагина surefire в ваш pom.xml корневого проекта :
источник
Быстрый ответ:
Работает с вложенными сборками проектов.
источник