2016-07-25 33 views
7

Chcę zachować plik Sting i Raw w moim module androidTest i przeczytać go w razie potrzeby w teście Espresso.Espresso Przeczytaj wartość pliku ciągu znaków

Przechowuję folder res pod androidTestem i mogę zsynchronizować i wygenerować plik R dla tego samego. Ale kiedy próbowałem uzyskać dostęp do zasobów ciągów przy użyciu

otrzymuję pewną losową wartość, która nie jest nawet nigdzie używana w pliku zasobów.

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

Czy istnieje sposób, w jaki mogę zachować i używać zasobu String w moim module testowym projektu i nie zostanie dodany do mojej wersji produkcyjnej.

Odpowiedz

12

Należy użyć InstrumentationRegistry.getContext() zamiast InstrumentationRegistry.getTargetContext() a następnie za pomocą odpowiedniego pakietu dla wygenerowanego pliku R (domyślnie będzie dołączyć .test do pakietu):

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

Zwróć uwagę na test część nazwy zasobów.

+2

Czy powinno to być w metodzie '@ Before' setUp? –