J'ai un projet avec plusieurs modules. Lorsque tous les tests réussissent, le test Maven les exécute tous.
Lorsque les tests échouent dans le premier module, maven ne passera pas au projet suivant. J'ai testFailureIgnore défini sur true dans les paramètres Surefire, mais cela n'aide pas.
Comment puis-je faire exécuter tous les tests par maven?
Réponses:
Dans la documentation de Maven Embedder :
Donc, si vous testez un module, vous pouvez l'utiliser en toute sécurité
-fae
.Sinon, si vous avez plusieurs modules et si vous voulez tous les tester (même ceux qui dépendent du module de tests défaillant), vous devez exécuter
mvn clean install -fn
.-fae
continuera avec le module dont le test a échoué (exécutera tous les autres tests), mais tous les modules qui en dépendent seront ignorés.la source
--fail-never
. Maven n'échouera pas la construction même s'il y a des erreurs de compilation. Si j'utilise cette option sur Jenkins, la construction semble réussie même si elle contient beaucoup d'erreurs de compilation. Je préfère-Dmaven.test.failure.ignore=true
dans ce cas et laisse Jenkins analyser les rapports infaillibles.Je viens de trouver le paramètre "-fae", qui fait que Maven exécute tous les tests et ne s'arrête pas en cas d'échec.
la source
Pouvez-vous tester avec surefire 2.6 et configurer surefire avec
testFailureIgnore=true
. Ou sur la ligne de commande:la source
Essayez d'ajouter la configuration suivante pour le plugin surefire dans votre pom.xml de projet racine :
la source
Une réponse rapide:
Fonctionne avec les versions de projet imbriquées.
la source