Maven Surefire Plugin - Nur ausgewählte Tests ausführen

Benjamin Herbert bio photo By Benjamin Herbert

Nur einzelne Testklassen

Will man in Maven nur einen einzelnen (JUnit)-Test laufen lassen, so gibt es einen nützlichen Parameter, der dies ermöglicht. So kann man einen einzelnen Test oder nur ganz bestimmte Tests laufen lassen.

mvn -Dtest=cc.herbert.ExampleTest test

Dies lässt Maven ausschließlich die Testklasse cc.herbert.ExampleTest aufrufen. Das ist sehr nützlich, wenn man schnelles Feedback zu dem Teil der Anwendung benötigt, den man gerade bearbeitet und nicht die komplette Sammlung aller Tests laufen lassen will.

Test per Pattern auswählen

Darüber hinaus ist es auch möglich nur Tests auszuführen, deren Name einem bestimmten Muster genügt. Hält man sich beispielsweise an eine Namenskonvention, bei der man allen Integrations-Tests den Suffix IT gibt, so kann man mit dem Befehl

mvn -Dtest=*IT test

lediglich die Integrationstests ausführen.

Natürlich sollte man alle Tests ausführen, um vor unerwünschten Seiteneffekten bewahrt zu werden.

Die hier gezeigte Methode ist aber hilfreich, wenn man nur eine Auswahl von Tests ausführen will. Wenn man genau eingrenzen kann, welche Tests man ausführen muss, kann man so sehr schnell Feedback erhalten.