655 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.

18voto

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

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

8voto

kreker Punkte 5697

Führen Sie einen einzelnen Test namens MyTest aus:

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

2voto

mutkan Punkte 914

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

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

0voto

Greg Punkte 2307

In meinem Fall waren meine Eclipse Java Compiler-Warnungen zu hoch eingestellt, und Eclipse erkannte meine Klasse nicht als gültig für die Ausführung. Das Aktualisieren meiner Compiler-Einstellungen hat das Problem behoben. Weitere Informationen dazu finden Sie hier: annotation-nonnull-cannot-be-resolved

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