Was ist der Zweck von @SmallTest, @MediumTest und @LargeTest Annotationen in Android?

Ich bin neu auf Android und ich habe Beispielcode mit diesen Annotationen gesehen. Beispielsweise:

@SmallTest public void testStuff() { TouchUtils.tapView(this, anEditTextView); sendKeys("HELP SPACE ME PERIOD"); assertEquals("help me.", anEditTextView.getText().toString()); } 

Was macht diese Annotation?

  • Wie man einen Vollbild-Webview macht
  • Eclipse hat mehrere Kopien von demselben Android-Gerät
  • Wie man android progress bar in der Mitte des Bildschirms setzt
  • Wie bekomme ich Breite und Höhe des Bildes?
  • StartActivityForResult () aus einer Fragment- und Finishing-Child-Aktivität, ruft nicht onActivityResult () in Fragment auf
  • Cordova Media Plugin - Stop Streaming funktioniert nicht - Release () friert das Gerät ein
  • Dalvik Chaos mit Bibliothekscode und Projekt kann nicht mehr laufen
  • Diese Version der Rendering-Bibliothek ist aktueller als deine Version von Android Studio. Bitte aktualisieren Sie Android Studio
  • Wie kann ich eine VPN-Verbindung auf dem Startbildschirm erstellen?
  • Ist es möglich, eine maximale Zeit für die android-Aufzeichnung mit Absicht zu setzen?
  • Crosswalk stürzt mit AssertionFailedError ab
  • Unterschiedliche (dynamische) Gegenstände Höhe in GridLayoutManager
  • 2 Solutions collect form web for “Was ist der Zweck von @SmallTest, @MediumTest und @LargeTest Annotationen in Android?”

    Dieser Blogpost erklärt es am besten. Grundsätzlich ist es folgendes:

    Prüfkarte

    1. Small: Dieser Test interagiert nicht mit jedem Dateisystem oder Netzwerk.
    2. Medium: Zugriff auf Dateisysteme auf Box, die Tests ausführt.
    3. Large: Zugriff auf externe Dateisysteme, Netzwerke etc.

    Pro Android-Entwickler-Blog , ein kleiner Test sollte <100ms, einen mittleren Test <2s und einen großen Test <120s nehmen.

    Sehen Sie diese Seite (Suche nach "@SmallTest"), wie Sie festlegen, welche Tests ausgeführt werden.

    Als Ergänzung zu Davidanns Antwort und vor allem Eric Palakovich Carr's question in the comment :

    Im Kontext des obigen Codes tut es eigentlich etwas, außer eine Notiz für andere Entwickler zu hinterlassen? Macht es etwas aus? Gibt es irgendwelche Werkzeuge, die diese Annotation nutzen? Was ist der Zweck in der Android-Entwicklung?

    Von der AndroidJUnitRunner Dokumentation :

    Eine bestimmte Testgröße ausführen, dh mit SmallTest oder MediumTest oder LargeTest kommentiert :

    Adb shell am instrument -w -e größe [klein | mittel | groß] com.android.foo/android.support.test.runner.AndroidJUnitRunner

    Sie können auch diese params durch gradle einrichten:

    android { ... defaultConfig { ... testInstrumentationRunnerArgument 'size', 'Large' } }
    android { ... defaultConfig { ... testInstrumentationRunnerArgument 'size', 'Large' } } 

    Sehen Sie diesen Blogpost für weitere Details.

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