मैं परीक्षण उपकरण में उत्पन्न स्ट्रिंग संसाधनों तक पहुंचने के लिए अपने उपकरण परीक्षणों के लिए एक रास्ता खोजने का प्रयास कर रहा हूं।उपकरण परीक्षण संसाधनों तक पहुंच
अधिक विवरण:
मैं एक Android परीक्षण का मामला जो ActivityInstrumentationTestCase2 से विरासत है। मैंने पहली जगह में टेस्ट बनाने के लिए एक्लिप्स की नई एंड्रॉइड टेस्ट प्रोजेक्ट का इस्तेमाल किया। परीक्षण परियोजना में संसाधन होते हैं (नियमित एंड्रॉइड प्रोजेक्ट के संसाधनों के समान)। मैं विभिन्न व्यक्तिगत परीक्षणों में परीक्षण परियोजना में प्रोग्रामिंग रूप से स्ट्रिंग संसाधनों तक पहुंचने का एक तरीका खोजने का प्रयास कर रहा हूं। मैंने कोशिश की है:
String s = getInstrumentation().getContext().getString(R.string.blah);
और
String s = mActivity.getApplicationContext().getString(R.string.blah);
दोनों ही तरीकों से एक NotFoundException फेंक देते हैं। मेरे स्ट्रिंग्स "xx" में स्ट्रिंग "blah" परिभाषित है। ऊपर कोड में आर मेरे परीक्षण पैकेज से एक आयात है, न कि परीक्षण के तहत आवेदन के पैकेज। मैं बाद के कॉल के साथ एप्लिकेशन पैकेज में परिभाषित संसाधनों तक पहुंचने में सक्षम हूं।
मेरे परीक्षणों में एक्सएमएल परिभाषित स्ट्रिंग संसाधनों तक पहुंचने का एक तरीका पता लगाने के लिए उपयोगी होगा (क्योंकि मैं कोड में स्ट्रिंग टाइपिंग से बचना चाहता हूं)। मैं क्या गलत कर रहा हूं?
"getCargetxt()" के अंत में "getTargetContext()" ने चाल प्राप्त की :-) (और शायद पोस्टर "स्वीकृत" के रूप में एक उत्तर चिह्नित कर सकता है?) – Christine
(समर्थन) परीक्षण धावक के संस्करण 0.5 में, getInstrumentation() विधि हटा दी गई है। संदर्भ प्राप्त करने के लिए, InstrumentationRegistry.getTargetContext() का उपयोग करें। – Metallica