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