Ist es möglich, eine einzige Testklasse mit dem neuen Android-Framework zum Erstellen von Google-Konten auszuführen?
Ich habe ein Testpaket mit mehreren Testklassen (alle sind InstrumentationTestCase-Klassen). Ich konnte meine build.gradle-Datei zum Ausführen des Testpakets einrichten
%Vor% Aber gibt es eine Möglichkeit, nur einen Testfall in diesem Paket zu testen? Ansonsten benutze ich das uralte adb shell am instrument -w .......
P.S. Momentan habe ich keine Zeit, auf Roboelectric umzusteigen, aber ich sehe, dass es heutzutage ziemlich genau das Defacto-Framework ist.
Mit android.test.InstrumentationTestRunner
no ist dies nicht möglich. Sie haben jedoch Optionen:
android.test.InstrumentationTestRunner
buildConfigField 'String', 'TEST_NAME', '${testName}'
hinzu, wobei testName
ist '"${project.properties.get("test")}"'
falls gesetzt, ansonsten null testInstrumentationRunner
durch Ihren benutzerdefinierten Runner ./gradlew connectedCheck -Ptest=com.example.Test.testSomething
ausführen
Spoon ist eine ausgezeichnete Test-Runner-Erweiterung, die Sie unter anderem (wie schöne Multi-Device-Testberichte) laufen lässt einzelne Tests. Da du gradle verwendest, empfehle ich das Spoon Gradle Plugin , das genau das zeigt, was du willst mach es in seiner README.
Mit der Unterstützung von Komponententests unterstützt Android nun das Ausführen einzelner Komponententests.
Dies ist nur eine Ankeraufgabe, tatsächliche Testaufgaben heißen
testDebug
undtestReleas
e usw. Wenn Sie nur einige Tests mit demgradle --tests
-Flag ausführen möchten, können Sie dies tun, indem Sie./gradlew testDebug --tests='*.MyTestClass'
ausführen. .
Bearbeiten : Ich sollte auch hinzufügen, dass Spoon ein Drop-in-Ersatz für laufende Tests ist. Sie müssen nur ein paar Zeilen in Ihrem Build-Skript ändern, um es zu verwenden.
Tags und Links android android-gradle android-testing