Mam projekt z kilkoma modułami. Po przejściu wszystkich testów test Maven uruchamia je wszystkie.
Gdy testy nie powiodą się w pierwszym module, maven nie przejdzie do następnego projektu. Mam testFailureIgnore ustawiony na true w ustawieniach Surefire, ale to nie pomaga.
Jak zmusić maven do uruchomienia wszystkich testów?
Odpowiedzi:
Z dokumentacji Osadnika Maven :
Więc jeśli testujesz jeden moduł, to możesz go bezpiecznie używać
-fae
.W przeciwnym razie, jeśli masz wiele modułów i chcesz je wszystkie przetestować (nawet te, które zależą od modułu testów zakończonych niepowodzeniem), powinieneś uruchomić
mvn clean install -fn
.-fae
przejdzie do modułu, który nie przeszedł pomyślnie testu (uruchomi wszystkie inne testy), ale wszystkie moduły, które od niego zależą, zostaną pominięte.źródło
--fail-never
. Maven nie zawiedzie kompilacji, nawet jeśli wystąpią błędy kompilacji. Jeśli użyję tej opcji w Jenkins, kompilacja wygląda na udaną, nawet jeśli zawiera wiele błędów kompilacji.-Dmaven.test.failure.ignore=true
W tym przypadku wolę i pozwól Jenkinsowi przeanalizować raporty dotyczące pożarów.Właśnie znalazłem parametr „-fae”, który powoduje, że Maven uruchamia wszystkie testy i nie zatrzymuje się po awarii.
źródło
Czy możesz przetestować za pomocą surefire 2.6 i albo skonfigurować surefire za pomocą
testFailureIgnore=true
. Lub w wierszu poleceń:źródło
Spróbuj dodać następującą konfigurację wtyczki surefire do pom.xml projektu root :
źródło
Szybka odpowiedź:
Działa z zagnieżdżonymi kompilacjami projektów.
źródło