2016-02-09 15 views
9

Chciałbym pominąć pojedynczy test (np. com.example.MyTest) podczas budowania projektu z Maven z wiersza poleceń.Pomiń pojedynczy test z maven z opcjami wiersza poleceń

Jestem świadomy podobnych pytań, takich jak this one, ale wszystkie one wymagają modyfikacji kodu źródłowego lub pom.xml. Chciałbym obejść się bez modyfikacji. Jak mogę wykluczyć test tylko za pomocą opcji wiersza poleceń?

Co Próbowałem tak daleko po przeczytaniu some documentation jest

mvn clean install -Dtest="*,!com.example.MyTest" 

ale test nie jest wciąż pomijane. Używam wtyczki surefire w wersji 2.19 i JUnit 4.11.

Odpowiedz

9

Okazuje się, że (przynajmniej w Surefire 2.19) wzorzec testowy nie działa z pełnymi nazwami klas. Zatem właściwym rozwiązaniem jest

mvn clean install -Dtest="*,!MyTest" 

tj. Bez ścieżki pakietu.

W Surefire 2.19.1, to should be possible, aby używać w pełni kwalifikowanych nazw. W wersjach starszych niż 2.19, żaden z nich nie działa.

+1

To nie działa dla mnie :(Tak właśnie go używam: 'test -Dlog4j.configuration = log4j-dm.xml -Dtest =" *,! Testname1Test,! Testname2Test,! Testname3Test,! Testname4Test " – vianna77

+0

Jakiej wersji używasz? – Mifeet

+0

Wersja: [INFO] --- maven-surefire-plugin: 2.12.4: test (test domyślny) – vianna77