12

müssen Android Studio 2.3 Nach dem Update, wenn ich versuchen, einige Espresso Tests, die ich die folgende Fehlermeldung auszuführen:Android Studio 2.3 nicht Prüfgeräten Spezifizierer in UI

Test running failed: Unable to find instrumentation info for: ComponentInfo{com.example.android/android.test.InstrumentationTestRunner} Empty test suite.

Dies war in der Vergangenheit leicht reparierbar, wo In der Run-Konfiguration konnte ich meine eigene InstrumentationRunner angeben. Jetzt kann ich diese Option nicht mehr finden, daher kann ich meine Läuferklasse jetzt nicht wirklich spezifizieren.

Bitte beachte, dass meine Build gradle

defaultConfig { 
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
    resConfigs "en", "es" 
} 
+2

Ich bin damit beschäftigt, nur angeschlossene Tests vom Terminal auszuführen, bis ich herausfinden kann, wie man sie wieder an der IDE arbeiten lässt. – emerssso

+0

Hat das gleiche, aber ich war auf der Suche nach einer besseren Lösung;) –

+1

http://stackoverflow.com/questions/41425067/how-to-add-extra-test-runner-parameter-in-android-studio-2 -3-instrumented-Tests und es gibt ein Problem dafür auf Tracker https://issuetracker.google.com/issues/37132226 – Than

Antwort

0

Auf Android Studio 2.3 diese Funktion enthalten tut, ist nicht verfügbar, da es sich um eine optionale des Instrumentation Runner Paket/Klasse in früheren Versionen von Studio zu spezifizieren. Aber Android 2.3 ist schlau genug, um dies aus Ihrer build.gradle-Datei auszuwählen, vorausgesetzt, Sie haben dort das Instrumentation Package Runner definiert.

+8

Aparently ist es nicht intelligent genug oder ich mache etwas falsch. Weil es es nicht von meinem 'build.gradle' abholt. –

+0

Definiere den Paket-Runner in deiner build.gradle-Datei, die sich im 'Projekt' -Ordner befindet, wie folgt: defaultConfig {def testRunnerPackage =" com.app.test.espresso.InstrumentationTestRunner " } Stellen Sie sicher, dass Sie den korrekten Paketnamen eingeben. –

0

Die folgende Setup, um das Problem

Fest
productFlavors { 
     doTheTests { 
      minSdkVersion 18 
      testInstrumentationRunner "com.company.app.test.TestRunner" 
      if (System.getenv('CONTINUOUS_INTEGRATION').equals("true")) { 
       testInstrumentationRunnerArguments(package: "com.company.app.test") 
      } 
     } 
    } 

Da Android Studio nicht zulässt, dass die testInstrumentationRunnerArguments aber die Tests durch Terminal Ausführung es in der Tat erfordert!

Offensichtlich auf dem Terminal/CI-System, das eine Umgebungsvariable wie: export CONTINUOUS_INTEGRATION=true

+0

Ich habe versucht, Ihre Lösung, aber ich bekomme den folgenden Fehler 'Fehler: (282, 0) ProductFlavor Namen können nicht mit' Test' beginnen –

+0

@AdrianOlar ändern Sie den Namen bitte! Bearbeitete meine Antwort – Reinherd

2

ich heute Morgen in dieses Problem lief. Ich habe die alte Laufkonfiguration gelöscht (die, die erstellt wurde, bevor Sie den neuen Läufer über build.gradle angegeben haben). Ich habe die Tests erneut durchgeführt und der neue Runner wurde von Android Studio abgeholt.

0

Was mir geholfen hat - den Test von der Befehlszeile starten und dann das Projekt synchronisieren.

Verwandte Themen