2011-09-27 9 views
46

J'ai des milliers de tests unitaires dans mon projet, et j'aimerais en choisir un ou deux pour les exécuter depuis la ligne de commande. Quelle est la commande pour le faire?En utilisant Maven, comment exécuter des tests spécifiques?

+0

Par méthode ou classe? Explicite pour la méthode: http://stackoverflow.com/questions/1873995/run-a-single-test-method-with-maven –

Répondre

63

Vous pouvez exécuter tous les tests dans une classe, en passant le drapeau -Dtest=<class> à Maven:

mvn clean test -Dtest=xxxxTest 

Depuis Surefire 2.8, vous pouvez également exécuter un test individuel, disons une méthode testA au sein de vos tests unitaires, en utilisant le même drapeau:

mvn clean test -Dtest=xxxxTest#testA 

Plus d'exemples pour l'exécution de tests multiples, par modèle de nom ou des listes de noms, se trouve dans le Maven Surefire documentation > Running a Single Test.

+1

à partir de http://maven.apache.org/surefire/maven-surefire-plugin/ examples/single-test.html que vous pouvez aussi éventuellement spécifier aussi bien la classe de test * que le nom de la méthode *, n'est-ce pas? – rogerdpack

+0

@rogerdpack Oui, c'est correct. – t0r0X

+0

Que diriez-vous d'une liste de classes? c'est à dire. 5 ou 6 classes de test? –

25

Veuillez lire ce document du maven surefire plugin manual. Fondamentalement, vous pouvez effectuer les opérations suivantes:

mvn -Dtest=*PerformanceTest clean test 

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

Questions connexes