2017-07-26 3 views
1

J'ai un code qui utilise beaucoup CompletableFuture, et mon collègue a fait quelques tests.Tests Maven exécutés séquentiellement (tests multithread) pour une raison inconnue

Les tests semblent passer à ma machine, mais échouent à son. J'ai trouvé le bogue (même si les tests passent sur ma machine), mais je veux être sûr de l'avoir corrigé, sans déranger mon collègue (pour faire des tests).

Pour une raison quelconque, le code multithread dans les tests s'exécute de manière séquentielle.

Je lance Maven teste cette façon:

mvn test -Dtest=CompFutTest -DfailIfNoTests=false -DprintSummary=false 
+1

Quelle est votre question en fait? – emotionlessbananas

+0

Ma question est: est-ce que quelque chose me manque dans la ligne de commande? D'autres endroits (IntelliJ, Maven, ordinateur?) À résoudre pour résoudre ce problème? – NatBag

Répondre

0

Le maven-plugin-Surefire contrôle l'exécution simultanée.

Si vous voulez vos tests à exécuter simultanément puis configurer votre plugin Surefire avec l'un des ...

<parallel>methods</parallel> 
<parallel>classesAndMethods</parallel> 

... selon que vous voulez dans chaque cas concurrency de test ou dans des cas de test.

Le choix de la valeur parallèle (et le choix connexe de threadCount) et divers problèmes de compatibilité entre TestNG, JUnit et le plugin surefire sont traités plus en détail dans the docs.