Come posso configurare un build.gradle
in un progetto Android per eseguire tutti i miei test di unità prima di ogni debug o release build? So che posso impostare le dipendenze delle attività con dependsOn
, ma come posso specificarlo per l'attività di test dell'unità? Mi piacerebbe farlo per ciascun modulo (Android e Java normale) del mio progetto, è possibile?Test di unità in esecuzione prima di ogni build in Gradle
risposta
Hai un compito speciale per eseguire solo test unitari? Oppure sei libero di eseguirlo come semplice test
(o più in generale testDebug
e testRelease
)? Diciamo che si desidera eseguire testDebug
o testRelease
ogni volta che si chiama attività assembleDebug
o assembleRelease
. Quindi puoi, come hai notato, utilizzare la proprietà dell'attività dependsOn
. Per esempio in questo modo:
assembleDebug.dependsOn testDebug
assembleRelease.dependsOn testRelease
Questa configurazione deve essere aggiunto a ogni script build.gradle (in ogni modulo del progetto), dove ne avete bisogno. Se si dispone di un certo numero di test di tasksm è possibile impostare relazioni tra le attività in questo modo:
tasks.assembleRelease.dependsOn {
project.tasks.findAll { task ->
task.name.startsWith('testRelease')
}
}
Certo, si può provare a impostare questo dipendenze nella radice script build.gradle radice, utilizzando allprojects
o subprojects
(si può leggere su di esso here), ma devi applicare anche il plugin android
nello script di root, altrimenti le attività non saranno trovate.
Passare a Esegui/Debug configurazioni e selezionare la configurazione dell'applicazione. Nella parte inferiore del pannello di destra, sotto Prima dell'avvio:, fare clic sul pulsante + e selezionare Esegui un'altra configurazione. Lì, scegli la configurazione per eseguire i tuoi test.
Prima del lancio impostare il comando del caso di test per eseguirli.
altro per il pre compito Gradle riferimento here
Grazie, non sapevo di questa opzione! In questo modo, tuttavia, la configurazione non è inclusa nei file 'build.gradle' e quindi non è condivisa tramite VCS. Mi piacerebbe che fosse condiviso con tutta la mia squadra. – manfcas
È possibile aggiornare i passaggi nel file README.md per il resto è possibile esportare le impostazioni IDE e condividere con il proprio team (file> impostazioni di esportazione). –
Ok, ma ho ancora lo stesso problema se costruisco su un server CI. – manfcas
- 1. Esecuzione automatica di test di unità su build
- 2. Test di unità in esecuzione in parallelo
- 3. Test unità di ricerca non in esecuzione
- 4. rake non in esecuzione test di unità
- 5. Esecuzione della configurazione di Mocha prima di ogni suite anziché prima di ogni test
- 6. file build test unità
- 7. Test di unità in esecuzione su build di Team Foundation Server (TFS)
- 8. Esegui test unità prima del check-in
- 9. Splitting main e test in build di eclissi di gradle
- 10. Gradle Build In esecuzione in Android Studio per troppo tempo
- 11. Build di gradle per ogni cartella di risorse
- 12. Test unità in esecuzione in TFS/VSO Build vNext utilizzando l'adattatore xUnit
- 13. MsTest - metodo di esecuzione prima di ogni test in un assieme
- 14. Test di unità Ruby in esecuzione con Rake
- 15. Come ricreare il database prima di ogni test in primavera?
- 16. Chiudere l'app Java prima di ogni esecuzione in Eclipse
- 17. Android build tools 1.1.0, cartella test unità?
- 18. Esecuzione di script bash in gradle
- 19. Progetto di test unità non compilato dal server di build
- 20. Esecuzione di SQL in un'attività Gradle?
- 21. Include progetto in gradle build
- 22. Griffon: esecuzione 'gradle build' - Esecuzione fallita per task ': jfxJar'
- 23. Test di debug in esecuzione in NUnit
- 24. Come eseguire il codice prima di ogni caso di test in tutti i test in MiniTest?
- 25. Test unità rubino: esegui del codice dopo ogni test fallito
- 26. Esecuzione di un metodo solo una volta all'inizio prima dell'esecuzione di qualsiasi test in PyUnit
- 27. Test unità di base e test unità
- 28. A corto di heap in esecuzione Proguard in Android Gradle build
- 29. Come eseguire un test di unità singola utilizzando gradle wrapper 2.2.1 dalla riga di comando
- 30. Test di unità in esecuzione con Maven in primavera Ambiente LTW
Ho un progetto con Android e Java moduli semplici. Per ora ho solo semplici test JUnit. Nei miei moduli Java semplici tutto sembra funzionare bene con 'jar.dependsOn test' alla fine del file gradle (se un test fallisce, la build si ferma). Nei miei moduli Android, con 'assembleDebug.dependsOn testDebug' ottengo l'errore' Impossibile trovare la proprietà 'testDebug' su BuildType_Decorated'. Dove dovrei mettere questa linea? Grazie! – manfcas