707 Stimmen

Wie führt man mit Gradle nur eine Einheitstestklasse aus?

Ich bin neu bei Gradle. Ich benutze Gradle 1.10 und Ubuntu 13.

Ich möchte wissen, ob es einen Befehl gibt, um nur eine Einheitstestklasse auszuführen, ähnlich wie testOnly in SBT.

21voto

Vladislav Punkte 1106

Für Multi-Modul-Projekte ist es notwendig, den Modulnamen und den Build-Typ zu verwenden:

./gradlew :modul_name:testDebugUnitTest --tests com.package_name.TestsClass.*

Um eine bestimmte Testmethode auszuführen, verwenden Sie denselben Befehl, aber mit dem Namen des Tests:

./gradlew :modul_name:testDebugUnitTest --tests com.package_name.TestsClass.test

10voto

kreker Punkte 5697

Führen Sie einen einzelnen Test namens MyTest aus:

./gradlew app:testDebug --tests=com.example.MyTest

8voto

Im Folgenden finden Sie den Befehl zum Ausführen einer einzelnen Testklasse mit der gradlew Befehlszeilenoption:

gradlew.bat Connected**Ihr bundleVariant**AndroidTest -Pandroid.testInstrumentationRunnerArguments.class=com.example.TestClass

Nachfolgend ein Beispiel zum Ausführen der Klasse com.example.TestClass mit der Variante Variant_1:

gradlew.bat ConnectedVariant_1AndroidTest -Pandroid.testInstrumentationRunnerArguments.class=com.example.TestClass

4voto

mutkan Punkte 914

Du solltest versuchen, am Ende Asterisken (*) hinzuzufügen.

gradle test --tests "com.a.b.c.*"

1voto

Mahozad Punkte 10508

Dies ist für Kotlin DSL (build.gradle.kts) getestet mit Gradle 8.2:

tasks.test {
    filter {
        includeTestsMatching("*Util*")
    }
}

Ein anderer Weg (Erstellen einer neuen Aufgabe):

tasks.register("MeineTests") {
    group = "MeineBenutzerdefiniertenAufgaben"
    filter {
        includeTestsMatching("ir.mahozad.*Convert*")
    }
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X