0

Ich habe Espresso-Tests, die gut laufen. Das einzige Problem ist, dass ich zwei Umgebungen habe, z. Lokal und Inszenierung. Beim Ausführen von Espresso-Tests in der lokalen Umgebung möchte ich nicht, dass einige Funktionen ausgeführt werden. aber wenn ich in der Staging-Umgebung bin, möchte ich, dass alle Funktionen ausgeführt werden.machen Android-Espresso-Tests laufen basierend auf der Umgebung läuft es in

Ich habe versucht, Windows-Umgebungsvariable in der Espresso-Test-Code, d. H. system.getenv(), aber es funktioniert nicht, da der Testcode innerhalb Android Emulator/Gerät, die keinen Zugriff auf Windows-Umgebungsvariable hat ausgeführt.

Ich brauche eine Variable oder einen Weg, um Espresso-Tests über Gradle oder auf andere Weise auf die Umgebung aufmerksam zu machen.

Antwort

0

Sie müssen die Aromen hinzufügen. Fügen Sie die Flavor-Zeichenfolge in der BuildConfig hinzu und verwenden Sie sie in Ihren Testfällen.
Dies ist hilfreich http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Testing1

+0

Aromen sind in verschiedenen Szenarien nützlich, aber nicht in meinem Fall. Allerdings habe ich die Lösung für mein Problem gefunden und die Antwort oben gepostet. –

0

Ich recherchierte und fand die Lösung für das oben genannte Problem, das ich fragte.

Man braucht folgenden unter build.gradle hinzuzufügen:

buildTypes a { 
      buildConfigField "String", "currentEnvironment", System.getenv("TEST_ENVIRONMENT").toString(); 
     } 

Dies wird die Variable in BuildConfig.java Datei als public static final String currentEnvironment = "local";

Dann wird die currentEnvironment declate und einstellen als Schluss Static Import importiert werden die Klassendatei und kann verwendet werden. Auf diese Weise kann man auf die Windows-Umgebung zugreifen und den Espresso-Test-Code verwenden, wo immer es erforderlich ist.

Verwandte Themen