Maven - Come compilare i test senza eseguirli?


128

C'è un modo in Maven per compilare i test senza eseguirli? Voglio usare l'IDE per eseguire test specifici e non tutti.


8
Probabilmente dovresti modificare la domanda o cambiare la risposta accettata.
Chiranjib,

Risposte:


29

puoi provare a usare il parametro -DskipTests

Riferimenti:


Nei netbeans, è quello che stavo facendo. Vedo il seguente mvn -Dmaven.test.skip = true -Dnetbeans.execution = true clean install quindi vedo quanto segue
user373201

[compilatore: testCompile] Non compilare fonti di test [surefire: test] I test vengono saltati. Atleast usando netbeans sembra che se i test vengono saltati non compila le fonti dei test
user373201

1
non importa, anche se i registri lo dicono, sembra comunque compilare file di test.
user373201

34
questo porta a saltare completamente i test: esecuzione e compilazione, vedere la risposta corretta di seguito: test-compilazione. Lo uso con mvn clean compile test-compile in Eclipse
Yashima,

3
@Yashima hai ragione, questa risposta non è così intelligente ... per favore accetta la risposta qui sotto, quindi puoi cancellare questa
abitante

334

Che ne dici della test-compilefase del ciclo di vita? Non richiede alcun salto di prova, perché si verifica prima della testfase. Vale a dire,

$ mvn test-compile

E fatto.

L'introduzione al ciclo di vita della build spiega ulteriormente.


7
Questo era esattamente ciò di cui avevo bisogno, grazie. Non conosco il richiedente originale; ma stavo cercando di compilare i test, quindi eseguirli con un test runner separato.
Mike Miller,

Sono stato qui più spesso, di quanto mi piacerebbe ammettere ...
Daniel Storch

31

Per compilare solo i test e il codice, senza eseguirli, basta fare:

mvn test-compile

7
Penso che la compilazione di test includa compilazione
Whimusical,

d'accordo con @Whimusical. Inoltre, questo eseguirà l'obiettivo di compilazione 2 volte.
Gabriel Petrovay l'

26

Quando esegui un obiettivo che includerà la fase di test (come un pacchetto), puoi fare due cose:

  • Utilizzare il comando mvn -DskipTests=true package. Questo compilerà tutti i test ma non li eseguirà.
  • Or mvn -Dmaven.test.skip=true package. Ciò non compilerà né eseguirà il ramo di test.

3

In alternativa, puoi usare l' maven.test.skip.execopzione.

mvn -Dmaven.test.skip.exec=true

Maven compilerà i test senza eseguirli. Uso questa opzione in tutti i miei progetti regolarmente.



0

Se hai il file settings.xml puoi anche usare

<maven.test.skip>true</maven.test.skip>

5
Non dovresti mai farlo. Se ne hai bisogno, impostalo sulla riga di comando, ma mai in modo permanente.
Sean Patrick Floyd,

13
Non ho mai detto che dovresti o non dovresti farlo. Fornendo solo conoscenza dell'opzione.
menapole

4
Questo fa sì che Maven non compili neanche i test.
Mike Miller,

3
@Sean Patrick Floyd: perché no? questo NON è permanente, sarebbe quello di impostarlo in pom.xml.
Balázs Németh,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.