58 votes

En utilisant Maven, comment puis-je exécuter des tests spécifiques ?

J'ai des milliers de tests unitaires dans mon projet, et j'aimerais en choisir un ou deux pour les exécuter à partir de la ligne de commande. Quelle est la commande pour faire cela ?

94voto

Vineet Reynolds Points 40529

Vous pouvez exécuter tous les tests d'une classe, en passant l'attribut -Dtest=<class> à Maven :

mvn clean test -Dtest=xxxxTest

Depuis Surefire 2.8, vous pouvez également exécuter un test individuel, par exemple une méthode testA dans vos tests unitaires, en utilisant le même drapeau :

mvn clean test -Dtest=xxxxTest#testA

Vous trouverez d'autres exemples d'exécution de tests multiples, par modèle de nom ou par liste de noms, dans la page d'accueil du site Web de l'UE. Documentation Maven Surefire > Exécution d'un seul test .

28voto

Hiery Nomus Points 4157

Veuillez lire cette partie de la maven surefire plugin manual . En gros, vous pouvez faire ce qui suit :

mvn -Dtest=*PerformanceTest clean test 

Qui exécute seulement toutes les classes de test se terminant par PerformanceTest.

0voto

Jake Toronto Points 355

+1 aux réponses ci-dessus, y ... assurez-vous que vous êtes dans le même répertoire que le module où se trouve le test que vous essayez d'exécuter. J'ai rencontré ce problème, car je travaille normalement dans des projets multi-modules et j'exécute les tests suivants mvn clean install depuis la racine du projet... mais pour ce cas d'utilisation, vous devez cd dans le module du test que vous essayez d'exécuter.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X