comment déboguer plus facilement le test maven surefire (en utilisant eclipse comme serveur de débogage))
j'utilise maven / surefire / eclipse pour écrire du code et plus tard le tester / le déboguer.
la manière Standard de le faire est d'utiliser maven.infaillible.déboguez la propriété maven. Par défaut, lorsque cette propriété est activée, maven commence l'écoute sur le port 5005 et je peux me connecter au processus de débogage en utilisant le débogueur à distance. Lorsque le test est terminé, le débogueur à distance se déconnecte du serveur.
ce processus implique deux étapes lorsqu'il est effectué en utilisant dans eclipse:
- Exécuter maven
- se Connecter à distance à l'aide de la configuration de lancement
ce que je voudrais réaliser, c'est réduire cela à:
- Exécuter maven
j'ai trouvé, ce réglage du maven.infaillible.la propriété de débogage de certaines options de débogage à distance modifiera le comportement de débogage à distance. Donc quand je spécifie i.e.
- Dmaven.infaillible.debug= "- Xdebug -Xrunjdwp: transport=dt_socket, server=n, address=5005 "
alors build va essayer de se connecter à mon processus eclipse en écoutant sur le port 5005. De cette façon, j'inverse les rôles client/serveur par défaut de maven et eclipse.
Cependant il y a un gros problème avec cette approche. Il ne me donne rien, comme après Maven build termine, eclipse arrête d'écouter sur le port du serveur. C'est la partie que je ne comprends pas. Lorsque je me connecte en tant que client debug d'eclipse à un serveur WebLogic par exemple, cela me permet de me connecter / déconnecter librement autant de fois que je le veux.
Quelqu'un sait si c'est normal, ou peut-être que je dois spécifier quelques options supplémentaires pour faciliter le débogage des tests maven?
4 réponses
voie Simple:
1. Open the Debug As > .. dialogue box
2. In the goal text box, give
-DforkMode=never test
3. Run the debug project
un peu en retard dans la contribution, mais a pensé qu'il valait encore la peine.
dans la configuration de débogage Eclipse, créer" Maven build "debug config:
Goals = - Dmaven.infaillible.test de debug
Profils = myconfigprofile, weblogic
ou pour un essai spécifique:
Goals = - Dmaven.infaillible.debug-Dtest=com.myorg.mypkg / MyTestSuite.Java essai
Profils = myconfigprofile, weblogic
N.B. ne mettez pas les accessoires dans "arguments JRE/jvm" car cela ne semble pas s'arrêter
"créer une Application Java à distance supplémentaire "config:
Host = localhost
Port = 5005
exécuter / déboguer votre mvn build s'arrêtera et écoutera 5005 par défaut.
Démarrer le débogage à distance config va s'attacher.voir aussi: http://maven.apache.org/plugins/maven-surefire-plugin/examples/debugging.html
si vous utilisez m2eclipse, pourquoi ne pas simplement clic droit puis Debug > Maven test ?
si vous utilisez Maven 2.0.8+, alors ce sera très simple,
s'il vous Plaît se référer à ma réponse.