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:

  1. Exécuter maven
  2. se Connecter à distance à l'aide de la configuration de lancement

ce que je voudrais réaliser, c'est réduire cela à:

  1. 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?

21
demandé sur Pascal Thivent 2010-09-24 18:59:49

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
18
répondu Zeba Ahmad 2012-03-15 12:18:42

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

18
répondu wmorrison365 2012-12-15 13:46:53

si vous utilisez m2eclipse, pourquoi ne pas simplement clic droit puis Debug > Maven test ?

2
répondu Pascal Thivent 2010-09-24 17:01:40

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.

Maven build debug in Eclipse

0
répondu Rajesh 2017-05-23 10:31:18