@khmarbaise è giusto con la sua raccomandazione (quindi +1 per questo), ma voglio rispondere alla tua domanda, senza speculare sui motivi per cui la fonte di prova si trovano da qualche altra parte.
Se i test si trovano in un'altra directory rispetto alla directory standard src/test/java
, la soluzione più semplice è quello di cambiare il valore di default del parametro di configurazione testSourceDirectory
che è definito nella Super POM.
ad es. per src/foobar/java
utilizzare
<build>
<testSourceDirectory>src/foobar/java</testSourceDirectory>
</build>
allora si può semplicemente eseguire mvn test
per eseguire i test.
Soluzione più complessa ...
Se non si desidera modificare la configurazione pom.xml Puoi specificare il parametro testSourceDirectory sulla riga di comando come questo:
mvn -DtestSourceDirectory=src/foobar/java clean test
Ma assicurati che le tue fonti siano compilate.Altrimenti non saranno trovati ed eseguiti. Nell'esempio di cui sopra le fonti di prova non vengano a trovarsi in una posizione che viene compilato per impostazione predefinita, in modo che, tuttavia, devono cambiare il pom e aggiungere la directory alla lista delle fonti di prova, utilizzando il buildhelper plugin:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.8</version>
<executions>
<execution>
<id>add-test-source</id>
<phase>generate-sources</phase>
<goals>
<goal>add-test-source</goal>
</goals>
<configuration>
<sources>
<source>src/foobar/java</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
Se non vuoi cambiare la configurazione del valore di default nel pom e non vuoi passare la nuova directory sulla riga di comando devi configurare il percorso nel plugin maven-buildhelper-plug e nel plugin maven-surefire-nel tuo pom .xml come questo:
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.8</version>
<executions>
<execution>
<id>add-test-source</id>
<phase>generate-sources</phase>
<goals>
<goal>add-test-source</goal>
</goals>
<configuration>
<sources>
<source>src/foobar/java</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.14.1</version>
<configuration>
<testSourceDirectory>src/foobar/java</testSourceDirectory>
</configuration>
</plugin>
</plugins>
</build>
Ora di nuovo il semplice utilizzo di mvn test
sarà exec ute il test nella posizione non standard.
Mi chiedo quale soluzione ha funzionato per voi. – FrVaBe