wake-up-neo.net

Gradle: Wie man einen Instrumentationstest für die Klasse durchführt

Ich führe einen Instrumentationstest in Android Studio mit der unten definierten Ausführungskonfiguration durch (keine Warnung):  enter image description here

Dies ruft also einen Testanzug für eine bestimmte Klasse auf. Wie kann ich das mit der Kommandozeile erreichen, nehme ich an ./gradlew?

15
Adam Styrc

Wie im AndroidTestingBlueprint angegeben, können Sie die Eigenschaft Android.testInstrumentationRunnerArguments.class verwenden:

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

Nach den Dokumenten :

Wenn Sie Tests über die Befehlszeile mit Android Debug Bridge (adb) ausführen, erhalten Sie mehr Optionen zur Auswahl der auszuführenden Tests als mit jeder anderen Methode. Sie können einzelne Testmethoden auswählen, Tests nach ihren Anmerkungen filtern oder Testoptionen angeben. Da der Testlauf vollständig über eine Befehlszeile gesteuert wird, können Sie Ihre Tests mit Shell-Skripten auf verschiedene Arten anpassen.

Um Instrumentationstests mit adb für eine bestimmte Klasse durchzuführen, gehen Sie wie folgt vor:

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

Beachten Sie, dass Sie, wenn Sie eine benutzerdefinierte testInstrumentationRunner in Ihrer app/build.gradle-Datei definiert haben, Android.support.test.runner.AndroidJUnitRunner durch Ihre eigene ersetzen müssen:

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

Tipp: Wenn Sie eine Fehlermeldung erhalten, weil der Befehl nicht richtig ist, wissen Sie, dass Sie einfach den richtigen Befehl erhalten können, indem Sie die Tests in Android Studio ausführen. Der Befehl wird in der Ausgabe des Ausführungsfensters angezeigt.


Diese beiden Dokumentationsseiten enthalten Ausführungsoptionen:

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

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

0