2013-11-22 15 views
8

Ho impostato il mio progetto per l'esecuzione con Robolectric e lo gradle-android-test-plugin. Funziona tutto bene e i primi test sono in corso e falliti.Non fallire la creazione di gradle se un test fallisce con il gradle-android-test-plugin

Se un test fallisce, fallirà anche la costruzione del gradle. C'è un modo per lasciare andare la build e annotare i test non validi per la valutazione in una fase successiva?

Il piano è di integrare il test in un server di integrazione continua e lì la build dovrebbe essere instabile solo se un test fallisce.

risposta

10

la correttezza della sintassi con AndroidConnectedTests è la seguente:

project.gradle.taskGraph.whenReady { 
    connectedAndroidTest { 
     ignoreFailures = true 
    } 
} 

Ora il compito test non sta fallendo la build più e si possono raccogliere i test falliti con il server di generazione per MARKT la build come instabile ecc

+0

Se si sta eseguendo un'attività (ad es. 'ConnectedAndroidTestFoo' invece di' connectedAndroidTest', la seconda riga dello script (vedere sopra) dovrebbe essere 'connectedAndroidTestFoo {'. 'Foo' è un 'sapore' – Toochka

7

Hmm. Bene, hai due opzioni che penso. Uno è quello di utilizzare

testTask.ignoreFailures = true 

di non lasciare che il compito non riuscire quando un test fallisce.

Un altro approccio sarebbe quello di eseguire il comando gradle con '--continue'. Questo eseguirà quante più attività possibili ed elencherà le attività non riuscite alla fine e non si fermerà dopo il primo tentativo.

+0

Nessun test nel mio progetto per modificare questo valore. Forse questo è specifico per le attività di test di Java? Sto usando Gradle per Android. – Janusz

+0

"testTask" è solo il segnaposto per l'attività di test. devi impostare la proprietà ignoreTestFailures su true sull'attività di tipo "Test" che non sta eseguendo la build –

+0

Esiste un'attività chiamata test ma l'impostazione di questa proprietà non sta facendo nulla. Ma non so se questo è il test corretto poiché i test sono eseguiti da un plugin di terze parti: test Android. – Janusz

Problemi correlati