mvndebug debug eclipse maven-2 debugging surefire

debug - cómo depurar la prueba de fuego seguro de Maven más fácilmente(utilizando eclipse como servidor de depuración)



maven debug eclipse (4)

Manera simple:

1. Open the Debug As > .. dialogue box 2. In the goal text box, give -DforkMode=never test 3. Run the debug project

Estoy usando maven / surefire / eclipse para escribir un código y luego probarlo / depurarlo.

La forma estándar de hacerlo es mediante el uso de la propiedad maven.surefire.debug maven. De forma predeterminada, cuando esta propiedad está habilitada, maven comienza a escuchar en el puerto 5005 y puedo adjuntarme al proceso de depuración utilizando el depurador remoto. Cuando la prueba finaliza, el depurador remoto se desconecta del servidor.

Este proceso involucra dos pasos cuando se termina de usar en eclipse:

  1. Correr maven
  2. Conectar usando la configuración de inicio remoto

Lo que me gustaría lograr es reducir esto a:

  1. Correr maven

He descubierto que establecer la propiedad maven.surefire.debug en algunas opciones de depuración remota cambiará el comportamiento de la depuración remota. Así, cuando especifico es decir

-Dmaven.surefire.debug = "- Xdebug -Xrunjdwp: transport = dt_socket, server = n, address = 5005"

luego la compilación intentará conectarse a mi proceso de eclipse escuchando en el puerto 5005. De esta manera invierto los roles de cliente / servidor predeterminados de maven y eclipse.

Sin embargo, hay un gran problema con este enfoque. No me da nada, ya que una vez finalizada la compilación, Eclipse deja de escuchar en el puerto del servidor. Esta es la parte que no entiendo. Cuando me conecto como cliente de depuración desde eclipse a, por ejemplo, el servidor WebLogic, me permite conectarme / desconectarme libremente tantas veces como quiera.

¿Alguien sabe si esto es normal o tal vez necesito especificar algunas opciones adicionales para facilitar la depuración de las pruebas de Maven?


Poco tarde en contribuir pero pensé que todavía valía la pena.

En la configuración de depuración de Eclipse, cree la configuración de depuración "Maven build":

Objetivos = -Dmaven.surefire.debug test

Perfiles = myconfigprofile, weblogic

o para un TestSuite específico:

Objetivos = -Dmaven.surefire.debug -Dtest = com.myorg.mypkg / MyTestSuite.java test

Perfiles = myconfigprofile, weblogic

NB: No coloque los accesorios en "argumentos JRE / jvm" ya que esto no parece detenerse.

Crear configuración adicional de "Aplicación Java Remota":

Host = localhost

Puerto = 5005

La ejecución / depuración de su compilación mvn se detendrá y escuchará en 5005 de forma predeterminada.

A partir de su configuración de depuración remota se adjuntará.

Véase también: http://maven.apache.org/plugins/maven-surefire-plugin/examples/debugging.html



Si está utilizando m2eclipse, ¿por qué no simplemente hace clic derecho y luego en Debug> Maven test ?