web-dev-qa-db-fra.com

Gradle: Comment exécuter un test d'instrumentation pour la classe

J'exécute un test d'instrumentation dans Android Studio avec la configuration d'exécution définie ci-dessous (attention):  enter image description here

Il s’agit donc d’appeler une combinaison de test pour une classe spécifique. Comment est-ce que je peux réaliser ceci avec la ligne de commande, j'imagine en utilisant la commande ./gradlew?

15
Adam Styrc

Comme indiqué dans le AndroidTestingBlueprint vous pouvez utiliser la propriété Android.testInstrumentationRunnerArguments.class:

./gradlew app:connectedAndroidTest -Pandroid.testInstrumentationRunnerArguments.class=com.example.Android.testing.blueprint.ui.espresso.EspressoTest
37
rciovati

Selon les docs :

Lorsque vous exécutez des tests à partir de la ligne de commande avec Android Debug Bridge (adb), vous disposez de davantage d'options pour choisir les tests à exécuter qu'avec toute autre méthode. Vous pouvez sélectionner des méthodes de test individuelles, filtrer les tests en fonction de leur annotation ou spécifier des options de test. Comme l'exécution du test est entièrement contrôlée à partir d'une ligne de commande, vous pouvez personnaliser vos tests avec les scripts Shell de différentes manières.

Pour exécuter des tests d'instrumentation avec adb pour une classe particulière, procédez comme suit:

adb Shell am instrument -w -e class 'com.myapp.MyActivityTest' com.myapp.test/Android.support.test.runner.AndroidJUnitRunner

Notez que si vous avez défini une testInstrumentationRunner personnalisée dans votre fichier app/build.gradle, vous devez remplacer Android.support.test.runner.AndroidJUnitRunner par le vôtre, comme ceci:

adb Shell am instrument -w -e class 'com.myapp.MyActivityTest' com.myapp.test/com.myapp.MyCustomTestRunner

Astuce: Si vous obtenez une erreur parce que la commande n'est pas correcte, sachez que vous pouvez simplement obtenir la bonne commande en exécutant les tests à partir d'Android Studio. Vous verrez la commande sur la sortie de la fenêtre Exécuter.


Ces 2 pages de documentation contiennent des options d'exécution:

https://developer.Android.com/reference/Android/support/test/runner/AndroidJUnitRunner#typical-usage

https://developer.Android.com/studio/test/command-line#AMSyntax

0
Albert Vila Calvo