mercoledì 22 aprile 2009

Debug di test eseguiti da maven

Ogni tanto succede che un JUnitTest eseguito da eclipse funzioni, mentre eseguito da maven vada in errore. Se la causa dell'errore non è chiaro, la cosa migliore è fare un debug del test eseguito da maven.
A complicare la cosa, maven esegue i test in un processo separato.
Innanzitutto bisogna dire a maven di lanciare i test nel processo separato in modalità di debug. Questo si fa lanciando maven nel seguente modo:
mvn -Dmaven.surefire.debug test

La porta su cui connettersi per il debug è la 5005. Per cambiarla bisogna usare questa sintassi:
mvn -Dmaven.surefire.debug="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -Xnoagent -Djava.compiler=NONE" test

Si può anche fare in modo che maven non lanci i test in un processo separato:
mvn -DforkMode=none test


Tutto questo lo trovate anche qui

Nessun commento: