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 ?
Réponses
Trop de publicités?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 .
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.
+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.