2016-07-25 10 views
7

मैं अपने एंड्रॉइड टेस्ट मॉड्यूल में स्टिंग और रॉ फ़ाइल रखना चाहता हूं और एस्प्रेसो टेस्ट में इसकी आवश्यकता होने पर इसे पढ़ना चाहता हूं।एस्प्रेसो रीड स्ट्रिंग फ़ाइल वैल्यू

मैं एंड्रॉइड टेस्ट के तहत res फ़ोल्डर रखता हूं और इसके लिए आर फ़ाइल को सिंक और उत्पन्न करने में सक्षम हूं। लेकिन जब मैंने

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" 

वहाँ किसी भी तरह से मैं रखने के लिए और अपने प्रोजेक्ट परीक्षण मॉड्यूल में स्ट्रिंग संसाधन का उपयोग कर सकते है और यह मेरे उत्पादन का निर्माण में नहीं जोड़ा जाएगा। संसाधन के नाम पर

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

वेतन ध्यान test भाग रहे हैं:

उत्तर

12

आप InstrumentationRegistry.getContext() बजाय InstrumentationRegistry.getTargetContext() का उपयोग करना चाहिए और उसके बाद उत्पन्न आर फ़ाइल के लिए उपयुक्त पैकेज का उपयोग (डिफ़ॉल्ट रूप से यह अपने पैकेज के लिए .test संलग्न कर देगा)।

+2

क्या यह '@ पहले' सेटअप विधि में जाना चाहिए? –

संबंधित मुद्दे