2016-07-25 6 views
7

私はandroidTestモジュールにスティングとローファイルを保存し、エスプレッソテストで必要なときにそれを読みたいと思います。エスプレッソ文字列ファイルの値を読み取る

私はandroidTestの下にresフォルダを保存し、同じものに対してRファイルを同期して生成することができます。しかし、文字列リソースにアクセスしようとしたときに、

getTargetContext.getString(R.string.product_name)を使用するか、mAcitivityRule.getActivity.getString(R.string.product_name)を使用していました。私はリソースファイル内のどこでも使用されていないランダムな値を取得しています。

String output: "res/drawable-v21/abc_action_bar_item_background_material.xml" 

があるが、私は維持し、私のプロジェクトのテストモジュールで文字列リソースを使用することができます任意の方法ですし、それは私の生産ビルドに追加されません。

答えて

12

あなたはInstrumentationRegistry.getContext()代わりのInstrumentationRegistry.getTargetContext()を使用して、生成されたR・ファイルに適切なパッケージを使用する必要があります(デフォルトでは、それはあなたのパッケージに.testを追加します):

Resources resources = InstrumentationRegistry.getContext().getResources(); 
String name = resources.getString(com.your_package.test.R.string.product_name); 

ご注意リソース名でtest部分に。

+2

これは '@ Before' setUpメソッドに入れますか? –

関連する問題