2011-12-01 15 views
19

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

¿Cómo puedo convencer a Gradle para que tenga éxito en la construcción y luego a Jenkins que marque la construcción como inestable? Con hormiga, esto no fue problema en absoluto.

Respuesta

21

Uso del ignoreFailures property in the test task.

apply plugin: 'java' 
test { 
    ignoreFailures = true 
} 
+0

¿Es posible configurar esto para jenkins solo desde la línea de comandos? Porque con esta opción FAILED build se registra como SUCCESS – MariuszS

+2

, la buena compilación tiene éxito, pero jenkins muestra build como "success" y no como "inestable": - /. Alguien tiene una buena solución para esto? ¿Algún plugin para Jenkins? o algo así como –

+1

- solución es usar esto. Y algo de esto responde http://stackoverflow.com/questions/8148122/how-to-mark-a-build-unstable-in-jenkins-when-running-shell-scripts Usé el complemento "Buscador de texto" –

1

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

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

Puede 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. Pero si llama a Gradle de la siguiente manera: gradle -PignoreTestFailures=true test, las fallas de la prueba no fallarán en la compilación. Por lo tanto, puede configurar Jenkins para que ignore las fallas de prueba, pero fallar la compilación cuando un desarrollador ejecuta las pruebas de forma manual.

Cuestiones relacionadas