maven: Wie kann ich den Test in einigen Projekten über Kommandozeilenoptionen überspringen?
In mein maven-Projekt habe ich eine Reihe von Modulen. Ist es möglich, schalten Sie laufen unit-Tests für einige Module über Kommandozeilen-Optionen?
Mein Projekt dauert etwa 15 Minuten zu laufen, durch alle unit-tests. Ich möchte, um die Geschwindigkeit des gesamten builds durch zu laufen, nur die unit-tests im Modul an dem ich arbeite. Ich will nicht zu gehen und Bearbeiten Sie jede einzelnen pom.xml um dies zu erreichen.
Habe ich versucht eine Lösung die hier beschrieben werden: Kann ich eine bestimmte testng test-Gruppe über maven? Aber das Ergebnis ist eine Menge von test-Fehler in den Modulen, die ich überspringen möchten. Ich nehme an, 'Gruppe' ist nicht das gleiche Konzept der Modul?
InformationsquelleAutor der Frage Anthony Kong | 2012-02-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Umschalten unit-tests ein-und ausschalten für ein gesamtes Projekt verwenden Maven-Surefire-Plugin-Fähigkeit zum überspringen von tests. Es ist ein Nachteil bei der Verwendung skipTests von der Befehlszeile aus. In einer multi-module-build-Szenario, würde dies deaktivieren Sie alle tests in allen Modulen.
Wenn du mehr brauchst fine grain Kontrolle der Ausführung einer Teilmenge der tests für ein Modul, Blick in die Maven-Surefire-Plugin-test Einschluss-und Ausschluss-Funktionen.
Damit für Kommandozeilen-überschreibungen nutzen POM Eigenschaften bei der Konfiguration des Surefire Plugin. Nehmen Sie zum Beispiel die folgenden POM-segment:
Mit einer POM-wie oben, Sie können ausführen von tests in einer Vielzahl von Möglichkeiten.
InformationsquelleAutor der Antwort Brent Worden
...und wenn Sie wollen, übergeben Sie die parameter für das maven-release-plugin in Hudson/Jenkins haben Sie zu verwenden
-Darguments=-DskipTests
um es zu bekommen Arbeit.
InformationsquelleAutor der Antwort Ralf
Wenn Sie verwenden möchten, Maven profile:
möchten Sie vielleicht, um es Arbeit zu tun, so etwas wie dieses:
Ich weiß nicht, ob es einen unterstützten Befehlszeilen-option, die das gleiche tut.
Könnten Sie auch versuchen, mit Umwelt-Eigenschaften direkt, etwas laut diesem doc Seite:
also so etwas wie:
dann mit
mvn -DmoduleA.skipTests=false test
zu testen, ob ein Modul.InformationsquelleAutor der Antwort icyrock.com