Unit-Tests in Android Studio 0.8

BREAKING NEWS: Android Studio 1.1.0 hat jetzt integrierte Unterstützung für Unit-Tests. Weitere Informationen finden Sie hier: https://sites.google.com/a/android.com/tools/tech-docs/unit-testing-support

Zuerst weiß ich, dass es sehr, sehr, sehr ähnliche Fragen gibt (auch hier auf SO). Die meisten von ihnen sind schrecklich veraltet, also frage ich eine neue neue Frage, die für Android Studio 0.8.x aktuell sein sollte.

  • Beste Weg, um Spiellogik vom Rendering für ein schnelllebiges Spiel für Android mit OpenGL zu trennen?
  • Übergeben des GoogleApiClient obj von einer Aktivität zur anderen
  • Funktioniert Java 8 auf Android api 24 und höher Oder kannst du im unteren api verwenden?
  • Android Pay - Testing von außerhalb der USA
  • Android MapView getMap () gibt null zurück
  • Warten auf ASyncTask zu beenden oder Variable gesetzt werden
  • Ich weiß, es gibt einige Bibliotheken, die irgendwie arbeiten, aber in fast jedem Fall hatte ich keinen Beweis dafür, dass die Informationen auf dem Laufenden waren. Ich weiß, es gibt zB roboelectric , es gibt auch einige veraltete Jake Wharton wie gradle-android-test-plugin oder double-espresso , fand ich auch die Bibliothek RoboSpock und Deckard . Aber keiner von ihnen scheint eine Android Studio Integration zu haben.

    Nach langer Zeit habe ich diese beiden Bugs in allen Implementierungen gefunden:

    • Der Klassenpfad ist kaputt und muss gehackt werden, um junit laufen zu lassen
    • Die Junior-Tests können nicht debuggen

    Was ich suche:

    • Ich möchte automatisch einen Algorithmus testen (das ist einfaches Java)
    • Ich möchte die Integration in meiner Android App-Funktion überprüfen
    • Ich möchte eine Integration in Android Studio, damit ich in den Code aus einem Stacktrace springen kann
    • Ich möchte den Testcode aufrufen

    Ich fand auch irgendwo einen netten Hack, der die Tests in gradle als eine externe Aufgabe ausführte und die Ergebnisse in AS schob, so dass die Ergebnisse angezeigt werden konnten, aber leider kann ich diesen Link nicht wieder finden (und wenn ich mich richtig erinnere, hat es auch nicht funktioniert für mich).

    Haben Sie Jungs einige frische Referenzen? Funktioniert es für Sie?

  • Wird es viel Speicher sparen mit 9-Patch-Bildern?
  • Beobachtete Paket-ID 'Add-ons, Addon-google_apis-google-19' in inkonsistenter Position
  • Android: facebook sdk logout Problem?
  • Starten Sie die Zwischenablageänderungen dauerhaft
  • Starten Sie Browser-Absicht mit benutzerdefinierter Klasse - kann keine Aktivität finden
  • Wie kann man "android: scrollbars = vertical" programmieren?
  • 4 Solutions collect form web for “Unit-Tests in Android Studio 0.8”

    Sie müssen die .iml-Datei bearbeiten, die Android Studio generiert, um auf Ihr Testklassenverzeichnis zu verweisen und auch den Stub-Fehler von Junit zu beheben. Hier ist derzeit keine Arbeit.

    Gradlectric ist ein Beispiel, das das Robolectric Gradle Plugin verwendet , um Unit-Tests in Android Studio durchzuführen.

    Hier vermisst du ein Beispiel Projekt-Setup https://github.com/nenick/android-gradle-template

    Aber keiner von ihnen scheint eine Android Studio Integration zu haben.

    Dieses Projekt wird für Android-Studio gepflegt

    Der Klassenpfad ist kaputt und muss gehackt werden, um junit laufen zu lassen

    Gradle scripts wird den classpath beheben

    Die Junior-Tests können nicht debuggen

    Testet eine laufende AS, so dass sie leicht zu debuggen sind

    Dieses Projekt von mir deckt nicht alle Ihre Wünsche, sondern eine Menge von ihnen. Es deckt einen Standard-Java-Testfall und einige Tests, die mit Views interagieren.

    Das Wurzelprojekt verwendet Travis CI, das gradle connectedCheck , um die Tests durchzuführen. Um die Tests zu debuggen, kannst du einfach eine Testlaufkonfiguration in AS erstellen und im Debugging-Modus ausführen.

    Beachten Sie, dass dies keine speziellen Android-Test-Frameworks wie robolectric verwendet.

    Hier finden Sie eine Gabel von Jake Wharton's gradle-android-test-plugin. Dies ist mit AS 0.6 kompatibel und wird regelmäßig von Robolectric gepflegt. Sie können dieses Projekt anschauen, um Robolectric in Android Studio mit Hilfe dieses Plugins einzurichten. Sie können mit der Hilfe von robolectric-gradle-plugin ein bisschen Funktionsumfang erzielen. Sie können auch erfolgreich Ihren Testcode mit AS debuggen.

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.