2016-05-31 9 views
0

Gibt es eine Möglichkeit, einen Testordner für Maven in die Befehlszeile zu integrieren?Maven: Hinzufügen eines Testverzeichnisses über die Befehlszeile

Ich habe eine Reihe von Tests, die sich in einem Ordner befinden, die nicht Teil des Standardsatzes von Einheiten- und Integrationstests sind. Diese Tests sind weiterhin nützlich, um einzeln ausgeführt zu werden, bis die erforderlichen Integrationstests erstellt wurden. In Eclipse kann ich diese Tests einzeln ausführen, indem ich mit der rechten Maustaste darauf klicke und sie als JUnit-Test ausführe. Ich stelle fest, dass ich oft mehr als einen Test ausführen möchte, also versuche ich, sie von Maven in der Befehlszeile auszuführen. In Maven ich so etwas tun kann:

mvn -Dtest=OldTest,OlderTest test 

Das Problem, das ich denke, ich habe, ist, dass der Ordner, dass diese Tests in sitzen nicht als Teil des Satzes von Testdateien, die in der POM kompilieren müssen aufgeführt ist. Ich möchte den Ordner vorübergehend hinzufügen, die Tests ausführen und den Ordner entfernen, ohne das POM zu ändern.

+1

Tests sollten immer ausgeführt werden, was für Komponententests gilt. Wenn es um Integrationstests geht, ist das anders. Für solche Zwecke existiert der Integrationstest-Lebenszyklus-Teil und die Namenskonvention dafür (* IT.java etc.). Dies kann durch das maven-failsafe-Plugin unterstützt werden. Für solche Dinge, die Sie tun möchten, würde ich ein separates Modul in Maven erstellen und ein Profil innerhalb des Moduls erstellen, mit dem diese Tests ausgeführt werden können oder nicht (mvn -Polder-Tests) ... Das Hinzufügen von Quellordnern usw. ist dynamisch nie eine gute Idee. – khmarbaise

Antwort

1

Ich verwende die Build Helper plugin in Integrationstest Quellen hinzuzufügen, wenn ein bestimmtes Profil aktiviert wurde, zum Beispiel:

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>build-helper-maven-plugin</artifactId> 
    <version>1.4</version> 
    <executions> 
    <execution> 
     <id>add-test-source</id> 
     <phase>generate-test-sources</phase> 
     <goals> 
      <goal>add-test-source</goal> 
     </goals> 
     <configuration> 
      <sources> 
       <source>src/it/java</source> 
      </sources> 
     </configuration> 
    </execution> 
    </executions> 
</plugin> 

tun Sie können vielleicht etwas ähnliches?

+0

Das führt zu etwas ähnlichem, aber ich suche nach einer Möglichkeit, die Testquelle über die Befehlszeile hinzuzufügen, ohne das POM bearbeiten zu müssen. – JeredM