tutorial the guides creates create compile java eclipse unit-testing testing gradle

java - the - gradle tutorial



Cómo habilitar la depuración en mi JUnit a través de la tarea de prueba de Gradle (4)

Me meto en problemas mientras trato de ejecutar mi prueba JUnit a través de la tarea de prueba gradle. Mientras ejecuto test en eclipse directamente con Run As -> JUnit test, todo está bien, el test se realiza correctamente Pero a través de la tarea de prueba, la prueba siempre falla. Probablemente algún problema con la codificación de mi archivo de recursos txt. Así que me gustaría habilitar la depuración mientras estoy iniciando la prueba con gradle

en build.gradle, mi tarea de prueba ahora se ve como:

test { tasks.withType(Compile) { options.encoding = ''UTF-8'' } }

Entonces, ¿qué debo hacer para habilitar la depuración? Ejecuto las tareas de Gradle desde el panel de Gradle en Eclipse, no desde la consola. ¡Gracias!


Como se explica en el punto 23.12. Test 23.12. Test en la Guía del usuario de Gradle y ejecute gradle test -Dtest.single=MyTestClass -Dtest.debug suspenderá la prueba JVM al iniciarse, y le permitirá conectar un depurador externo (como el depurador Eclipse) en el puerto 5005.




Poner esto aquí como --debug-jvm no me funcionó, pude hacerlo configurando:

org.gradle.daemon=true org.gradle.jvmargs=... -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=10999

en

~/.gradle/gradle.properties

Pero cuando me conecto con el depurador de eclipse para el proyecto, ninguno de los puntos de interrupción que he establecido compilar / desencadenar ... Estoy conectado a través del depurador, puedo ver acción en la vista de depuración, siempre que gradle test desde la línea de comandos, como Los nuevos subprocesos comienzan / se detienen, pero no pueden hacer que se desencadenen puntos de interrupción, intentando resolver esto ahora ...

FYI para detener Deamon Run gradle --stop

Otra solucion

Dejando arriba como referencia, esto funcionó para desencadenar puntos de quiebre en las pruebas, apagué Deamon ya que no pude hacer que funcionara correctamente:

Usando las instrucciones de este artículo: http://blogs.steeplesoft.com/posts/2013/gradle-tip-attaching-a-debugger.html

test { if (System.getProperty(''DEBUG'', ''false'') == ''true'') { jvmArgs ''-Xdebug'', ''-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=10999'' } }

Ejecutado mediante la gradle test -DDEBUG=true

Solución al usar el plugin JUnit Platform Gradle

La solución anterior no funcionará cuando se usa org.junit.platform.gradle.plugin .

En su lugar, debe ser reemplazado por:

junitPlatformTest { if (System.getProperty(''DEBUG'', ''false'') == ''true'') { jvmArgs ''-Xdebug'', ''-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=10999'' } }