2

Also ich begann mit einem UnitTest namens MyCoolObjectTest. Da ich einige Instrumentierungstests durchführen musste, habe ich die Klasse innerhalb der Android Projektansicht aus dem Verzeichnis test in das Verzeichnis androidTest verschoben, indem ich sie gezogen habe. Mein UnitTest hat früher gut funktioniert; außer für die Instrumentierungsteile. Aber jetzt funktioniert es überhaupt nicht. Ich bekomme immerConverting UnitTest zu Instrumentierung Test in android Studio

Class not found: "com.mypkg.MyCoolObjectTest"Empty test suite. 

Ich habe über stackOverflow und in der offiziellen Dokumentation für eine Lösung gesucht. Bisher kein Glück. Hat jemand Ähnliches erlebt?

(wenn ich es ziehen zurück in den Testordner es funktioniert, wenn ich wieder ziehen Sie nach androidTest Ordner, um es wieder nicht mehr funktioniert)

Ich erinnere mich, das war ein Weg, um den Ordner im Test zu setzen. Aber ich erinnere mich nicht mehr.

Für einen Einblick, möchte ich in meinem Test einige Android-Bibliothek verwenden, wie

public String stripFormatting(String input){ 
    return Html.fromHtml(input).toString(); 
} 

Deshalb habe ich Instrumentierung benötigen.

Hier ist meine Unit-Test-Klasse mit einem Test für ein Beispiel:

@RunWith(AndroidJUnit4.class) 
public class MyCoolObjectTest { 
    @Test 
    public void testJustToKnow() { 
     String actual = "<b>0</b>"; 
     String expected = "0"; 
     assertThat(stripFormatting(actual), equalTo(expected)); 
    } 
    public String stripFormatting(String input) { 
     return Html.fromHtml(input).toString(); 
    } 
} 

Update

Hier eine andere Spur, die ich habe. Wenn ich statt der Klasse auf der Methode klicken, erhalte ich die folgende Spur:

Gerade jetzt klickte ich auf der Methode anstelle der ganzen Klasse und bekam die folgende Spur:

11/04 13:51:16: Launching testJustToKnow() $ adb push /Users/me/StudioProjects/Myapp/app/build/outputs/apk/app-debug.apk /data/local/tmp/com.mypkg.myapp $ adb shell pm install -r "/data/local/tmp/com.mypkg.myapp" pkg: /data/local/tmp/com.mypkg.myapp Success

$ adb push /Users/me/StudioProjects/Myapp/app/build/outputs/apk/app-debug-androidTest-unaligned.apk /data/local/tmp/com.mypkg.Myapp.test $ adb shell pm install -r "/data/local/tmp/com.mypkg.myapp.test" pkg: /data/local/tmp/com.mypkg.myapp.test Success

Running tests

$ adb shell am instrument -w -r -e debug false -e class com.mypkg.myapp.utils.MyCoolObjectTest#testJustToKnow com.mypkg.myapp.test/android.test.InstrumentationTestRunner Client not ready yet..Test running started

junit.framework.AssertionFailedError: No tests found in com.mypkg.myapp.utils.MyCoolObjectTest at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:191) at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:176) at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:555) at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1959)

Tests ran to completion.

+0

Können Sie die Testklasse veröffentlichen? –

Antwort

0

Vielleicht diesen Willen nützlich sein:

  • src/test: nur für Unit-Test (nichts, die android-Framework beinhaltet).

  • src/androidTest: für Android Instrumentierung Tests.

Eine bessere Erklärung finden Sie unter here.

Example of instrumentation test (Bitte Ihre Anmerkungen überprüfen, zum Beispiel @RunWith(AndroidJUnit4.class) oder @SmallTest oder @Test)

Ich hoffe, das für Sie von Nutzen sein wird.

(Update)

Vielleicht haben Sie vergessen diese auf Ihrem gradle (im Hauptmodul):

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

Wenn Sie Espresso hat verwenden, müssen Sie eine Abhängigkeit hinzufügen (Bitte überprüfen Sie den Link darüber "... Beispiel für Instrumentierungstest ...„)

+0

Ich aktualisiert, um weitere "Fortschritt" zu melden –

+0

@NouvelTravay Bitte lesen Sie meine Antwort, vielleicht ist ein Konfigurationsproblem. –

2

Ich hatte gerade das gleiche Problem hier ist, wie ich es gelöst.

  • In Android Studio gehen starten> Bearbeiten Konfigurationen ...
  • Unter der Überschrift Android JUnit, wählen und Ihr Test löscht (minus-Taste)
  • hinzufügen eine neue Testkonfiguration (Plus-Taste) und wählen sie Android Instrumented Tests
  • Legen sie die folgenden Optionen:
  • Modul: app
  • Test: Klasse
  • Klasse: Wählen Sie oder Ihre Klasse mit den Instrumententests geben hier
  • Klicken Sie auf OK

Alles sollte jetzt funktionieren.

+0

In meinem Fall gab es "Schritt 0", wo ich das Projekt schließen und wieder öffnen musste. In Schritt 2 war die Konfiguration unter "unbekannt". – arekolek

Verwandte Themen