unit test run results plugin example junit jenkins gradle

test - Mark Gradle construye inestable en Jenkins cuando fallan las pruebas de JUnit



show test results in jenkins (4)

Puede incluir esto en su build.gradle principal para que se aplique a todos los proyectos y todas las tareas de prueba.

allprojects{ tasks.withType(Test) { ignoreFailures=true; } }

Tengo una compilación de Gradle en Jenkins con varias pruebas de JUnit que se ejecutan como parte de la compilación. Ahora, cuando algunas de las pruebas fallan, la compilación completa se marca como fallida, porque Gradle dice que la compilación falló.

¿Cómo puedo convencer a Gradle para que suceda con la compilación y luego a Jenkins para que marque la compilación como inestable? Con la hormiga esto no fue un problema en absoluto.


Puedes usar propiedades externas para resolver este problema.

if (!ext.has(''ignoreTestFailures'')) { ext.ignoreTestFailures = false } test { ignoreFailures = project.ext.ignoreTestFailures }

En esta configuración por defecto fallará la compilación fallará. Pero si llama a Gradle de esta manera: gradle -PignoreTestFailures=true test entonces las fallas de la prueba no fallarán en la compilación. Por lo tanto, puede configurar Jenkins para ignorar las fallas de prueba, pero para fallar la compilación cuando un desarrollador ejecuta las pruebas manualmente.



Ya que ignorar la prueba fallida no se pudo usar en mi caso, descubrí lo siguiente. Si está utilizando un archivo jenkins con guión. Es posible envolver su etapa de prueba en una declaración try-catch.

try { stage(''test'') { sh ''./gradlew test'' } } catch (e) { echo "Test FAILED" }

Esto detectará la excepción de compilación lanzada por gradle pero marcará la compilación como inestable.