2013-04-04 10 views
6

Come faccio a impostare nel pom per non compilare i test in Maven? Ho provato:Come faccio a impostare nel pom per non compilare i test?

<properties> 
    <skipTests>true</skipTests> 
</properties> 

ma in quel caso, Maven compilare il test, ma non li corro. Ho bisogno che Maven non compili i miei test.

+0

Posso chiederlo: PERCHÉ? –

+0

Forse puoi avere un profilo che punta alla directory dei sorgenti di test. Altrimenti, è indicato da uno vuoto. –

+0

Non ho bisogno di compilarli perché questi test chiamano un webservice, analizzano le sue classi e così via. Poiché il progetto utilizza Hudson per l'integrazione continua, abbiamo bisogno di compilare ed eseguire questi test solo quando siamo disposti a farlo. –

risposta

0

Nel mio caso una soluzione è stato quello di mettere i test in un profilo (ad esempio runTests), quindi quando voglio eseguire questi test, ho aggiungere il parametro -PrunTests. Grazie per le risposte.

0

Se si utilizza il surefire-plugin per le prove esecuzione, è possibile configurarlo per passare loro sulla base di uno schema di denominazione:

<project> 
    [...] 
    <build> 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-surefire-plugin</artifactId> 
     <version>2.14</version> 
     <configuration> 
      <includes> 
      <include>%regex[.*[Cat|Dog].*Test.*]</include> 
      </includes> 
     </configuration> 
     </plugin> 
    </plugins> 
    </build> 
    [...] 
</project> 

Questo, tuttavia, richiede i nomi dei file test per conformarsi al modello desiderato (S). Al lavoro utilizziamo questo approccio e i nostri test terminano con ..UnitTest o ..IntegrationTest, in modo che possiamo facilmente disattivare ognuno di essi modificando la regex nel profilo di build corrispondente.

Dai uno sguardo a Apache's documentation sul plugin surefire. Potresti trovare qualcosa di più utile o più adatto al tuo caso.

5
+2

Questo salta li esegue. Il PO vuole saltare la compilazione –

+0

@ user2863942 Citazione dal mio link: _ "Se è assolutamente necessario, è anche possibile utilizzare la proprietà maven.test.skip di saltare la compilazione dei test maven.test.skip è onorato dal infallibile, fail-safe e. il plug-in del compilatore. "_ – maba

+0

@ user2863942 Quindi dimmi, per favore, perché hai votato la mia risposta corretta ???? – maba

0

Configura Maven-compiler-plugin per saltare la compilazione. Ancora una volta, non lo consiglio.

<project> 
    <properties> 
    <maven.test.skip>true</maven.test.skip> 
    </properties> 
    [...] 
    <build> 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-compiler-plugin</artifactId> 
     <version>3.0</version> 
     <configuration> 
     <executions> 
      <execution> 
      <id>default-testCompile</id> 
      <phase>test-compile</phase> 
      <goals> 
       <goal>testCompile</goal> 
      </goals> 
      <configuration> 
       <skip>${maven.test.skip}</skip> 
      </configuration> 
      </execution> 
     </executions> 
     </plugin> 
    </plugins> 
    </build> 
    [...] 
</project> 
+0

Se ho bisogno di attiva il test compilare ed eseguire successivamente, mvn clean install -Dmaven.test.skip = false funzionerà? O avrò bisogno di un altro parametro? –

+0

@ Rafael. Credo che, si può fare 'maven.test.skip' per tirare un doppio dovere –