En utilisant les fichiers pom intellij et maven, comment puis-je déboguer les tests exécutés à l'intérieur de l'objectif de test maven?
Lorsque je les exécute directement dans le code, cela se plaint de l'absence de profils, que j'ai cochés dans les projets Maven d'intellij.
Qu'en est-il d'un clic droit sur votre objectif et de "Déboguer [votre objectif]" (dans votre cas, l'objectif du test)?
http://maven.Apache.org/plugins/maven-surefire-plugin/examples/debugging.html
Dans IDEA, exécutez votre test en mode débogage "mvn -DforkMode=never test
"
Mise à jour : Ouvrez votre configuration d'exécution/débogage, dans l'onglet "Runner", ajoutez -DforkMode=never
(Noté par @ mikeapr4: les nouvelles versions du plugin surefire (2.14+) utilisent mvn -DforkCount=0 test
)
J'exécute des tests avec les options suivantes:
mvn -Dmaven.surefire.debug="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=6666 -Xnoagent -Djava.compiler=NONE" test
... puis connectez-vous à Maven avec un débogueur distant.
-DforkMode=never
ne fonctionne plus, il est désormais obsolète dans SureFire.
Utilisation -DforkCount=0
à la place lors de l'utilisation du plugin surefire 2.14+.
La question a été répondue. Mais juste pour partager ma propre expérience. La réponse sélectionnée n'a pas résolu mon problème. Mon code a plusieurs modules.
la réponse de foolshat a apporté un aperçu précieux de mon problème.
J'ai deux solutions, 1. En utilisant votre IDEA, en ajoutant un option VM-DforkMode=never
; Doit l'exécuter avec le mode débogage. 2. Configurez un débogage à distance, en spécifiant le socket et dans ce cas forkMode n'est pas nécessaire.
Ce n'est qu'un résumé de ce que j'ai vécu.
La solution de Colin Hebert ne fonctionne pas non plus pour moi. Mais heureusement, j'ai trouvé un moyen facile de déboguer le test en faisant un clic droit sur le triangle vert qui apparaît à côté de la méthode de test:
exemple de classe de test Java
J'espère que cela vous aide!