Maven - Comment compiler des tests sans les exécuter?


128

Existe-t-il un moyen dans Maven de compiler les tests sans les exécuter? Je veux utiliser l'IDE pour exécuter des tests spécifiques et pas tous.


8
Vous devriez probablement soit modifier la question, soit changer la réponse acceptée.
— Chiranjib

Réponses:


29

vous pouvez essayer d'utiliser le paramètre -DskipTests

Références:


Dans netbeans, c'est ce que je faisais. Je vois le mvn suivant -Dmaven.test.skip = true -Dnetbeans.execution = true installation propre puis je vois ce qui suit
— user373201

[compilateur: testCompile] Ne compile pas les sources de test [surefire: test] Les tests sont ignorés. Au moins en utilisant Netbeans, si les tests sont ignorés, il ne compile pas les sources de test
— user373201

1
peu importe, même si les journaux le disent, il semble toujours compiler des fichiers de test.
— user373201

34
cela conduit à sauter complètement les tests: exécution ainsi que compilation, voir la bonne réponse ci-dessous: test-compile. Je l'utilise avec mvn clean compile test-compile dans Eclipse
— Yashima

3
@Yashima vous avez raison, cette réponse n'est pas si intelligente ... veuillez accepter la réponse ci-dessous, afin que vous puissiez supprimer celle-ci
— lweller

334

Qu'en est-il de la test-compilephase du cycle de vie? Il ne nécessite aucun saut de test, car il se produit avant la testphase. C'est à dire,

$ mvn test-compile

Et.. Voila.

L'introduction au cycle de vie de build explique plus en détail.


7
C'était exactement ce dont j'avais besoin, merci. Je ne connais pas le demandeur d'origine; mais je cherchais à compiler les tests, puis à les exécuter avec un testeur séparé.
— Mike Miller

Je suis venu ici plus souvent que je n'aime l'admettre ...
— Daniel Storch

31

Pour simplement compiler les tests et le code, sans les exécuter, faites simplement:

mvn test-compile

7
Je pense que test-compile inclut la compilation
— Whimusical

d'accord avec @Whimusical. De plus, cela exécutera l'objectif de compilation 2 fois.
— Gabriel Petrovay

26

Lorsque vous exécutez un objectif qui inclura la phase de test (comme un package), vous pouvez faire deux choses:

  • Utilisez la commande mvn -DskipTests=true package . Cela compilera tous les tests mais ne les exécutera pas.
  • Ou mvn -Dmaven.test.skip=true package . Cela ne compilera ni n'exécutera la branche de test.

3

Vous pouvez également utiliser l' maven.test.skip.execoption.

mvn -Dmaven.test.skip.exec=true

Maven compilera les tests sans les exécuter. J'utilise cette option dans tous mes projets régulièrement.



0

Si vous fichier settings.xml, vous pouvez également utiliser

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

5
Vous ne devriez jamais faire ça. Si vous en avez besoin, définissez-le sur la ligne de commande, mais jamais de façon permanente.
— Sean Patrick Floyd

13
Jamais dit que vous devriez ou ne devriez pas le faire. Fournir simplement une connaissance de l'option.
— menapole le

4
Cela empêche maven de compiler les tests non plus.
— Mike Miller

3
@Sean Patrick Floyd: pourquoi pas? ce n'est PAS permanent, ce serait le mettre dans le pom.xml.
— Balázs Németh
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.