2016-07-25 13 views
7

Ich möchte eine Sting und Raw-Datei in meinem AndroidTest-Modul und lesen Sie es bei Bedarf im Espresso-Test lesen.Espresso Read String Datei Wert

Ich behalte Res-Ordner unter androidTest und in der Lage, R-Datei für die gleiche zu synchronisieren und zu generieren. Aber wenn ich versuchte, auf Zeichenfolgenressource unter Verwendung

getTargetContext.getString(R.string.product_name) zuzugreifen oder mAcitivityRule.getActivity.getString(R.string.product_name) zu verwenden, erhalte ich irgendeinen zufälligen Wert, der überhaupt nirgends in der Ressourcendatei benutzt wird.

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

Gibt es irgendeine Weise, die ich halten kann und String-Ressource in meinem Projekt Testmodul verwenden und es wird nicht in meine Produktion Build hinzufügen.

Antwort

12

sollten Sie InstrumentationRegistry.getContext() anstelle von InstrumentationRegistry.getTargetContext() und dann entsprechendes Paket für erzeugen R-Datei verwenden (standardmäßig es .test zu Ihrem Paket anhängt):

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

Achten Sie auf test Teil in Ressourcennamen.

+2

Sollte dies in der '@ Before' setUp Methode gehen? –