Ich habe Schwierigkeiten, diesen Funktionstest mit Espresso auf Android zu machen. Meine App ist eine Multdex-App, daher befolge ich die Anweisungen, die unter diesem Link ( Ссылка ) geschrieben wurden.
Ich habe meine build.gradle bereits so konfiguriert:
%Vor%Ich habe das Run-Profil von Android Studio konfiguriert und die testInstrumentationRunner-Klasse auf com.android.test.runner.MultiDexTestRunner gesetzt.
Wenn ich den Befehl " adb shell pm list Instrumentierung " ausführe, habe ich folgende Ausgabe:
%Vor%Aber ich erhalte immer noch diese Ausgabe, wenn ich versuche, meine Tests auszuführen:
%Vor%Und das ist der einzigartige Test, den ich versuche auszuführen:
%Vor%Der Fehler tritt direkt nach dem Aufruf von super.setUp () bei der setUp-Methode auf.
Ich habe die Instrumentierung in der AndroidManifest-Datei registriert:
%Vor%Und das Problem, mit dem ich konfrontiert bin, ist nicht das gleiche wie hier beschrieben NullPointer Exception bei Verwendung von Espresso
Das Problem liegt bei diesen Gradel-Linien:
%Vor% Sie benötigen ein MultiDexTestRunner
, aber diese Klasse wird von InstrumentationTestRunner
abgeleitet. Ihr Code benötigt einen Test-Runner, der von AndroidJUnitRunner
Eine Lösung besteht darin, eine benutzerdefinierte TestRunner
zu erstellen, die AndroidJUnitRunner
erweitert und den MultiDex-Code implementiert:
Sie müssen nur eine einzelne Gradle-Zeile hinzufügen, die auf Ihre benutzerdefinierte testInstrumentationRunner
verweist. Dadurch wird sichergestellt, dass das Build-System die Eigenschaften AndroidManifest.xml
generiert, die zum Ausführen der Tests mit diesem Runner benötigt werden.
Tags und Links android android-studio functional-testing android-espresso