web-dev-qa-db-fra.com

Comment obtenir une couverture de code en utilisant Android Studio?

Je développe des applications avec Android Studio.
J'ai pu exécuter le code de test.
Mais, je ne sais pas comment obtenir une couverture de code dans Android studio.

J'ai déjà vu les liens suivants.
Couverture du code Gradle Android
Mais je suis impatient de voir la mise à jour de la version 0.6 pour emma.

La configuration du projet est la suivante.

Code principal
MyProject/AppName/src/main/Java/mypackage/MyClass.Java

Code de test
MyProject/AppName/src/instrumentTest/Java/mypackage/test/MyClassTest.Java

Configuration du projet
Mon projet
├─build.gradle
└─NomApp
├─build.gradle
└─src
├─main
│ ├─Java
│ └─mypage
│ └─MyClass.Java
Res
│ └─AndroidManifest.xml
└─instrumentTest
└─Java
Ypmypackage
└─test
└─MyClassTest.Java

63
h.usune

Avec le nouveau Android Studio 1.2, vous pouvez exécuter vos tests unitaires et voir la couverture dans l’EDI.

Tout d'abord, vous devez exécuter vos tests unitaires dans l'EDI. (si vous le pouvez déjà, passez cette étape)

Ce guide et démo vous aidera.

Deuxièmement, vous devrez créer une configuration JUnit Run

enter image description here

Dans cette configuration, vous pourrez choisir

  • Type de test: "Tout dans le package"
  • Package: [le package contenant vos tests, par exemple: "com.myapp.tests"]
  • Recherche de tests: À travers les dépendances de modules (peut être différent pour votre configuration)
  • VM -options: -ea
  • Répertoire de travail: [répertoire de votre projet]
  • Utilise le classpath du mod: [sélectionnez votre module]

Si vous rencontrez des problèmes lors de la création de votre configuration d’exécution JUnit, vous devez consulter this guide for help.

Enfin, dans le dernier Android Studio, vous devriez pouvoir exécuter votre configuration JUnit-Run en cliquant sur le bouton "Run with Coverage".


Dans Android Studio 2.1.3 l’étiquette est Run Unit tests with CoverageUnit test est le nom de votre configuration de test, comme indiqué dans la capture d'écran suivante:

Android Studio: "Run Unit tests with Coverage" button

59
Caleb

Il y a tellement de réponses montrant comment appliquer jacoco plug-in au projet de studio Android, qui est obsolète et qui m'a fait perdre tellement de temps pour trouver la solution pour le récent Android studio (Mon Android Studio est la version 2.1.2).

  • Jacoco le plugin est intégré à Android Studio Gradle, vous devez simplement l'activer comme suit:
 buildTypes {
 ... 
 debug {
 testCoverageEnabled true 
} 
} 
  • Ensuite, exécutez la tâche de test unitaire ./gradlew testDebugUnitTest

  • Créez ensuite des fichiers de couverture: ./gradlew createDebugCoverageReport

  • Les fichiers de couverture seront créés dans le dossier <module>/build/reports/coverage/debug, Y compris index.html, Que vous pourrez ouvrir avec le navigateur, et report.xml, Que vous pourrez utiliser pour obtenir un rapport avec jenkins jacoco plugin ou d'autres outils d'intégration continue.

Pour ceux qui ont 0% de couverture avec jenkins jacoco plugin, Veillez à utiliser la bonne version. citation de leur site :

Malheureusement, JaCoCo 0.7.5 rompt la compatibilité avec les formats binaires précédents des fichiers jacoco.exec. Le plugin JaCoCo jusqu’à la version 1.0.19 est basé sur JaCoCo 0.7.4, vous ne pouvez donc pas utiliser cette version avec des projets utilisant déjà JaCoCo 0.7.5 ou une version plus récente. Le plugin JaCoCo à partir de la version 2.0.0 utilise JaCoCo 0.7.5 et nécessite donc également l’utilisation de cette version dans vos projets. Veuillez vous en tenir au plugin JaCoCo 1.0.19 ou inférieur si vous utilisez toujours JaCoCo 0.7.4 ou inférieur

29
xfdai

Nous utilisons maven pour construire notre application et cobertura pour les rapports de couverture de code

les deux sont vraiment faciles à intégrer

Intégration Android:

http://www.vogella.com/tutorials/AndroidBuildMaven/article.html

Exemple de couverture de code Maven + Cobertura:

http://www.mkyong.com/qa/maven-cobertura-code-coverage-example/

2
ir2pid

Avez-vous essayé d'utiliser le plugin Jacoco pour obtenir une couverture de code pour votre projet? C'est un bon plugin vous donnant une couverture basée sur votre paquet ou sur des classes individuelles. Je ne sais pas comment vous configurez Jacoco pour l'utiliser avec Gradle puisque j'utilise Maven. Vérifiez le lien : et voyez si cela vous aide

2
user2511882

Je ne pense pas que vous puissiez voir le rapport de couverture de code visuel à l'intérieur de Android Studio. Mais vous pouvez essayer Jacoco. Vous devrez l'intégrer à votre build.gradle fichier. Vous pouvez trouver le question similaire & solution ici

2
Hieu Rocker

Android studio gradle a un plugin Jacoco intégré que vous pouvez utiliser pour trouver la couverture de code. J'ai écrit comme article pour configurer pas à pas jaococo pour trouver la couverture de code pour le test Espresso, mais vous pouvez également l'utiliser pour Robotium. regarde ça.

http://qaautomated.blogspot.in/2016/03/how-to-find-code-coverage-with-jacoco.html

2
anuja jain