2015-01-16 14 views
6

Sto utilizzando make per la costruzione e Robolectric come framework per l'esecuzione di test Android. Vorrei calcolare la copertura della mia app. Per i test di strumentazione ho usato emmalib. Qual è il modo migliore per me di impostare il calcolo della copertura in questo caso? Non riesco a migrare a Gradle o Maven.Come calcolare la copertura del test durante l'utilizzo di Robolectric

+0

Questo aiuto ?: http://stackoverflow.com/questions/13466482/generating-android-code-coverage-though-changes-in-build-xml-and-ant-properties – Slartibartfast

+0

In che modo utilizzare RoboElectric + Cobertura/EclEmma per la copertura del codice? – Slartibartfast

+0

Slartibartfast: Non usiamo formica. Hai qualche tutorial su come integrare Robo e Cobertura/EclEmma? Oggi cercherò di utilizzare JaCoCo. – gruszczy

risposta

4

Sei legato ad Emma? Che ne dici di utilizzare la copertura del codice RoboElectric + Cobertura? (Penso che si potrebbe utilizzare una CLI per la combinazione di cui sopra)

Così opzioni

1.) RoboElectric + Cobertura - CLI da solo probabilmente per qualcuno non su ANT

2.) JaCoCo potrebbe avere qualche opzioni utili

3.) Pure test Android + Emma/EclEmma

link utili percorsi da seguire

Generating android code coverage though changes in build.xml and ant.properties

Android Gradle Code Coverage

https://intellectualcramps.wordpress.com/2013/08/18/code-coverage-of-robolectric-tests-using-jacoco/

https://bitbucket.org/ravidsrk/androidstarter

EDIT:

Bene la maggior parte dei tutorial che ho incontrato uso formica purtroppo, e io non credo che sarebbe una cattiva idea per te passare a un sistema di build raccomandato l Ike Gradle quindi apre molte opzioni. Ma per JaCoCo si potrebbe dare un'occhiata a qui: https://intellectualcramps.wordpress.com/2013/08/18/code-coverage-of-robolectric-tests-using-jacoco/

UPDATE:

Spostato questo dai commenti alla sezione di risposta per le informazioni a chiunque voglia vedere questo e perché questa è una domanda di taglie

+0

Cobertura sembra una buona opzione, lo farò Provalo. – gruszczy

+0

Cobertura ha funzionato, grazie. – gruszczy

1

Una soluzione potrebbe essere quella di utilizzare Cobertura per generare la copertura del codice, che può essere integrata in eclissi e anche gestita da uno script di formica.

un modello di progetto di una tale integrazione può essere trovato qui: https://github.com/adgllorente/android-cobertura-boilerplate

Si noti che tutta la magia accade nel build.xml del progetto di prova. Questi compiti dovrebbero probabilmente essere generalizzati a un file custom_rules.xml in modo da poter ancora utilizzare android per aggiornare i progetti.

Infine, per Gradle si hanno molte opzioni diverse:

Nota che si può sempre utilizzare Gradle come un sistema di compilazione secondario solo per generare i rapporti di copertura. (ma un secondo sistema di build introdurrà un sacco di overhead)

+0

Non uso gradle, o maven o formica. La mia build è puramente basata su Make (vedi codice AOSP). Daremo un'occhiata a Cobertura, che sembra consentire di lavorare da una linea cmd senza altro. – gruszczy

0

jacoco a volte non funziona con Robelectric e runner powermock è possibile utilizzare il trifoglio e gli strumenti atlassiani è ora strumento open source.