Quelle est la différence entre les dossiers src / androidtest et src / test?


119

Dans un projet, dans Android Studio, par défaut, il existe deux dossiers de test.

Le premier est src/androidTest. Ce dossier existait déjà dans la version précédente d'Android Studio. Néanmoins, il existe maintenant un nouveau dossier de test, par défaut src/test, et une nouvelle dépendance, testCompile 'junit: junit: 4.12'dans build.gradle.

Quel dossier dois-je utiliser pour les tests? Quelles sont les différences entre les deux?

Réponses:


134

src/androidTest est destiné aux tests unitaires impliquant une instrumentation Android.

src/testest destiné aux tests unitaires purs qui n'impliquent pas le framework Android. Vous pouvez exécuter des tests ici sans exécuter sur un appareil réel ou sur un émulateur.

Vous pouvez utiliser les deux dossiers. Utilisez le premier pour tester le code qui utilise le framework Android. Utilisez le second pour tester du code qui sont de pures classes Java. Les méthodes pour écrire les tests sont presque les mêmes.

Plus d'informations ici: http://developer.android.com/tools/testing/testing_android.html



Vous venez de sauver ma journée
C Johnson

qu'en est-il d'AndroidTestDebug?
the_prole

48

Une excellente source d'informations concernant les tests Android en général est la page des développeurs Meilleures pratiques pour les tests :

  • Tests unitaires locaux ( /src/test/java/)

Tests unitaires exécutés localement sur la machine virtuelle Java (JVM). Utilisez ces tests pour minimiser le temps d'exécution lorsque vos tests n'ont pas de dépendances du framework Android ou lorsque vous pouvez vous moquer des dépendances du framework Android.

  • Tests instrumentés ( /src/androidTest/java/)

Tests unitaires exécutés sur un appareil ou un émulateur Android. Ces tests ont accès aux informations d'instrumentation, telles que le contexte de l'application que vous testez. Utilisez ces tests lorsque vos tests ont des dépendances Android que les objets simulés ne peuvent pas satisfaire.

https://developer.android.com/training/testing/start/index.html

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.