2012-09-26 16 views
37

Quiero depurar compilación de Eclipse con pruebas. Intenté ejecutarlo en Ejecutar> Configuraciones de depuración> Creación de Maven. En el directorio base está mi directorio de repositorio de Maven con el archivo pom.xml, en "instalación limpia" de objetivos. Cuando hago clic en depurar, Eclipse inicia la compilación, ejecuta las pruebas pero no se detiene en los puntos de interrupción.Depuración de compilación de Maven en Eclipse

Respuesta

55

La manera más fácil que encuentro es:

  1. proyecto clic derecho

  2. depuración como -> Maven construir ...

  3. En el campo de las metas puso -Dmaven .surefire.debug test

  4. En los parámetros de poner un nuevo parámetro llamado forkCount con un valor de (anteriormente era forkMode = nunca, pero es obsoleto y ya no funciona)

Establecer puntos de interrupción hacia abajo y de ejecución esta configuración y debería llegar al punto de interrupción.

+0

Recibo el error 'No se pudo cargar [aa.properties] como un recurso de cargador de clases'. Estoy usando ClassLoader.getSystemClassLoader().Función getResourceAsStream() para cargar esto. ¿Debería establecer un directorio de trabajo en algún lugar o cambiar un poco este código? – Kangur

+1

El parámetro forkMode está en desuso desde la versión 2.14. En su lugar use forkCount = 0 –

+1

intentado esto en surefire 2.19, 2.18 y 2.17 sin ningún éxito. Sí funcionó para 2.12.4. ¿Algo cambió? – kellogs

5

La configuración Ejecutar/Depurar que está utilizando debe permitirle ejecutar Maven en su área de trabajo como si fuera desde la línea de comandos sin salir de Eclipse.

Suponiendo que sus pruebas están basadas en JUnit debe poder depurarlas seleccionando una carpeta de origen que contenga pruebas con el botón derecho y elija Debug as... ->JUnit tests.

+0

Probé las otras respuestas, pero solo la opción 'Debug as ... -> JUnit tests' me funcionó. – apennebaker

+0

¡Impresionante! Estaba buscando cómo depurar el proyecto maven en eclipse, y el enlace número 1 tenía un millón de pasos, lo seguí, cometí errores y no funcionó. Descubrí que el artículo tenía fecha de 2008. –

3

probleme: resultado de la prueba unidad no son los mismos runing con Eclipse y Maven orden ti debido de la biblioteca utilizada por Eclipse y experta. En mi caso, la prueba fue el éxito con Maven pero quiero depurar mi unidad de prueba usando Eclipse, por lo la forma más fácil de clase de prueba unidad de depuración con Eclipse y experto runing es:

1) mvn -Dtest = MySuperClassTest -Dmaven.surefire.debug test ==> escuchará el puerto 5005 (puerto predeterminado)

2) Vaya a eclipse, abra una configuración de depuración, agregue una nueva aplicación remota java y cambie el puerto a 5005 y depure

3) Por supuesto, debe agregar un punto de interrupción en algún lugar de la clase que desea depurar

Cuestiones relacionadas