J'utilise maven/surefire/Eclipse pour écrire du code et ensuite le tester/le déboguer.
La méthode standard consiste à utiliser la propriété maven.surefire.debug maven. Par défaut, lorsque cette propriété est activée, maven commence à écouter sur le port 5005 et je peux me connecter au processus de débogage à l'aide du débogueur distant. Lorsque le test est terminé, le débogueur distant se déconnecte du serveur.
Ce processus implique deux étapes lorsque vous avez fini d'utiliser Eclipse:
Ce que je voudrais réaliser est de réduire cela à:
J'ai constaté que la définition de la propriété maven.surefire.debug sur certaines options de débogage distant modifie le comportement de débogage distant. Ainsi, lorsque je spécifie i.e.
-Dmaven.surefire.debug = "- Xdebug -Xrunjdwp: transport = dt_socket, serveur = n, adresse = 5005"
then build essaiera de se connecter à mon processus Eclipse en écoutant sur le port 5005. De cette façon, j'inverserai les rôles client/serveur par défaut de maven et d'Eclipse.
Cependant, il y a un gros problème avec cette approche. Cela ne me donne rien, car après la construction de maven, Eclipse cesse d'écouter sur le port du serveur. C'est la partie que je ne comprends pas. Lorsque je me connecte en tant que client de débogage à partir d'Eclipse, par exemple sur le serveur WebLogic, cela me permet de me connecter/déconnecter librement autant de fois que je le souhaite.
Tout le monde sait si cela est normal ou peut-être dois-je spécifier des options supplémentaires pour faciliter le débogage des tests Maven?
Manière 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 tard dans la contribution mais a pensé que cela en valait la peine.
Dans la configuration de débogage Eclipse, créez la configuration de débogage "Maven build":
Objectifs = test -Dmaven.surefire.debug
Profiles = myconfigprofile, weblogic
ou pour un TestSuite spécifique:
Objectifs = -Dmaven.surefire.debug -Dtest = com.myorg.mypkg/MyTestSuite.Java test
Profiles = myconfigprofile, weblogic
N.B. Ne mettez pas les accessoires dans les "arguments JRE/jvm" car cela ne semble pas faire de pause
Crée une configuration "Remote Java Application" supplémentaire:
Host = localhost
Port = 5005
L'exécution/le débogage de votre build MVN s'arrête et écoute par défaut sur 5005.
Voir aussi: http://maven.Apache.org/plugins/maven-surefire-plugin/examples/debugging.html
Si vous utilisez m2Eclipse, pourquoi ne pas simplement cliquer avec le bouton droit de la souris alors Déboguer> Test Maven ?
si vous utilisez Maven 2.0.8+, ce sera très simple,
S'il vous plaît se référer ma réponse.