मैंने एक एंड्रॉइड टेस्ट प्रोजेक्ट स्थापित किया है जो जूनिट परीक्षण चलाता है। यह दो ग्रहण परियोजनाओं "एप्लिकेशन" और "एप्लिकेशनटेस्ट" का उपयोग कर रहा है जहां मेरे परीक्षण "एप्लिकेशनटेस्ट" प्रोजेक्ट में हैं। मेरे परीक्षणों में से मुझे एक फ़ाइल तक पहुंचने की ज़रूरत है, यह ठीक काम करता है अगर मैं एसडीकार्ड पर फाइल डालता हूं और फ़ाइल ऑब्जेक्ट को इंगित करता हूं। हालांकि मैं फ़ाइल को संसाधन के रूप में एक्सेस करना चाहता हूं, लेकिन ऐसा लगता है कि यह काम नहीं करता है। यह मैं क्या किया है:एंड्रॉइड टेस्ट प्रोजेक्ट में संसाधनों तक पहुंच
ApplicationTest/res/raw/myfile.xml
- कोशिश कर रहा में फाइल सेव यह मिल का उपयोग कर रहे हैं:
InputStream is = getContext().getResources().openRawResource(R.raw.myfile);
लेकिन है कि मुझे इस अपवाद देता है:
android.content.res.Resources$NotFoundException: File Hello World, HelloAndroidActivity! from drawable resource ID #0x7f040000 at android.content.res.Resources.openRawResource(Resources.java:823) at android.content.res.Resources.openRawResource(Resources.java:799) at com.quizzer.test.QuestionHandlerTests.testImportQuestions(Tests.java:182) at java.lang.reflect.Method.invokeNative(Native Method) at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169) at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154) at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:529) at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1448) Caused by: java.io.FileNotFoundException: Hello World, HelloAndroidActivity! at android.content.res.AssetManager.openNonAssetNative(Native Method) at android.content.res.AssetManager.openNonAsset(AssetManager.java:406) at android.content.res.Resources.openRawResource(Resources.java:820) ... 14 more
मेरा परीक्षण वर्ग AndroidTestCase को बढ़ाता है ताकि वह संदर्भ कहां से आता है।
अद्यतन:
तो समस्या हो कि संकलन के दौरान परीक्षण परियोजना में संसाधनों का उपयोग किया जाता लगते हैं, लेकिन क्रम में मुख्य परियोजना में संसाधनों का इस्तेमाल किया जाता है। मैं अभी भी यह सुनिश्चित नहीं कर रहा हूं कि इसे कैसे ठीक किया जाए। तो वर्तमान में यह केवल तभी काम करता है जब मैंने परीक्षण परियोजना में एक ही कच्चे संसाधन को रखा और मुख्य परियोजना जो बिल्कुल बेवकूफ है।
इसकी। या यह सिर्फ मुझे हो सकता है। क्या आप यहां विस्तार करने की कोशिश कर रहे हैं। सेटअप स्पष्ट है, बस एक उदाहरण परिणाम और एक असफल परिणाम के लिए आप क्या उम्मीद करते हैं इसका एक उदाहरण दें। – Siddharth
@ सिद्धार्थ मुझे यकीन नहीं है कि मुझे क्या विस्तार करना चाहिए, मेरा मतलब है कि अगर संसाधन पाया गया तो मेरा परीक्षण पास होगा (क्योंकि अगर मैं सीधे एसडीकार्ड से फ़ाइल तक पहुंचता हूं तो यह ठीक काम करता है)। मुझे लगता है कि मैंने एंड्रॉइड में संसाधन फ़ाइलों का उपयोग करने के तरीके, या इकाई परीक्षण कक्षाओं से उन्हें कैसे पहुंचाया जा सकता है, इस बारे में कुछ याद किया होगा। – Zitrax
तो क्या यह मदद करेगा यदि एंड्रॉइड टेस्ट प्रोजेक्ट एक उप परियोजना है? या एक निर्भर परियोजना? – Siddharth