2017-08-27 2 views
3

Ich bin ein Neuling in der Android Testwelt und die Proben für Unit Tests erwähnen die Verwendung von AndroidJunit4 Läufer. Ich bin auf einen anderen Läufer namens gestoßen. Jetzt sah ich die Dokumente für beide Klassen und auf einen Blick, es scheint, dass der Unterschied ist, dass AndroidJunit4 unterstützt JUnit4 vor allem während AndroidJUnitRunner unterstützt JUnit3 und JUnit4 aber wenn Sie in die Klassenstruktur und die verfügbaren Methoden schauen, gibt es tatsächlich eine große Unterschied zwischen diesen beiden Läufern.Was ist der Unterschied zwischen AndroidJUnitRunner und AndroidJunit4?

Für ex, AndroidJUnitRunner aus den folgenden Klassen erweitert:

enter image description here

Und AndroidJunit4 aus erstreckt,

enter image description here

Also, was ist der Unterschied zwischen den beiden Läufern und der Läufer soll ich endlich benutzen?

+0

Anstatt Screenshots aufzusetzen: Fügen Sie Links zu dem Javadoc hinzu, das Sie angeben. Und dann zitieren Sie als Text. Nicht als Bild. – GhostCat

Antwort

5

Ich habe vor kurzem ziemlich viel Zeit mit diesen Klassen verbracht. Kurze Antwort: Sie verwenden beide.

ist die Instrumentierung Runner. Dies ist im Wesentlichen der Einstieg in die Ausführung Ihrer gesamten Testsuite. Er steuert die Testumgebung, die Test-APK und startet alle in Ihrem Testpaket definierten Tests. Sie konfigurieren diese in Ihrer gradle Datei:

android { 
    defaultConfig { 
     testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
    } 
} 

AndroidJUnit4 die Klasse Testläufer ist. Dies ist die Sache, die die Tests für eine einzelne Klasse antreibt. Sie Anmerkungen versehen Testklassen mit diesem:

@RunWith(AndroidJUnit4.class) 
public class MyActivityTest { ... } 

Die Instrumentierung Läufer wird jede Testklasse verarbeiten und seine Anmerkungen inspizieren. Es wird festgestellt, welche Klasse Runner mit @RunWith festgelegt ist, initialisieren Sie es und verwenden Sie es, um die Tests in dieser Klasse auszuführen. Im Fall von Android überprüft die explizit, ob der Klassen-Runner AndroidJUnit4 so eingestellt ist, dass Konfigurationsparameter an ihn übergeben werden können.

Eine pädagogische Übung besteht darin, Haltepunkte in jede dieser Klassen zu setzen und den Code zu durchlaufen. Dies ist, was ich kürzlich getan habe, um die obigen Informationen zu lernen. Ich hoffe, das hilft!

+2

Nützlicher Link: https://developer.android.com/training/testing/junit-runner.html, – nullpointer

Verwandte Themen