0

私はエスプレッソテストがうまく動作しています。唯一の問題は、私に2つの環境があることです。ローカルおよびステージング。ローカル環境でエスプレッソ・テストを実行する場合、私はいくつかの機能を実行したくありません。ステージング環境ではすべての機能を実行したいと思っています。アンドロイドエスプレッソテストは実行中の環境に基づいて実行されます

エスプレッソテストコードのWindows環境変数、つまりsystem.getenv()を使用しようとしましたが、Windows環境変数にアクセスできないアンドロイドエミュレータ/デバイスの内部でテストコードが実行されるため、動作しません。

エスプレッソテストでは、Gradleやその他の方法で実行されている環境を認識するための変数や方法が必要です。

答えて

0

フレーバーを追加する必要があります。フレーバー文字列をBuildConfigに追加し、テストケースで使用します。
これは役に立ちますhttp://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Testing1

+0

フレーバーは異なるシナリオでは役に立ちますが、私の場合はそうではありません。しかし、私は私の問題の解決策を見つけ、上記の答えを掲示しました。 –

0

私は上記の問題を解決し、私が尋ねたところを見つけました。 build.gradleの下に以下を追加する

いずれかが必要です

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

これは次にcurrentEnvironmentがへの最終静的インポートとしてインポートすることができpublic static final String currentEnvironment = "local";

としてBuildConfig.javaファイルで変数をdeclateと設定しますクラスファイルを使用することができます。 この方法では、Windows環境にアクセスし、エスプレッソテストコードを必要に応じて使用できます。

関連する問題