मैं यूनिट परीक्षण के लिए नया हूं और मैं अपने SQLiteDataBase का परीक्षण करना चाहता हूं।एंड्रॉइड स्टूडियो यूनिट परीक्षण SQLiteDataBase शून्य
मैं एक वर्ग MySQLiteHelper कि SQLiteOpenHelper फैली नामित किया है। मेरे पास स्थानडेटा हैंडलर नाम का एक वर्ग है जिसका उपयोग मैं अपने डेटाबेस से तत्व जोड़ने या हटाने के लिए करता हूं। और मैं एक वर्ग LocationDataHandlerTest, कि AndroidTestCase फैली हुई है, मेरी LocationDataHandler वर्ग का परीक्षण करने के लिए है।
मैं अपने SQLite डेटाबेस का परीक्षण करने की कोशिश कर रहा हूं लेकिन मुझे लगता है कि सभी अलग-अलग संदर्भों के बीच थोड़ा सा खो गया है।
//Context context = new Activity();
//IsolatedContext context = getMockContext();
//Context context = new MockContext();
//Context context = getInstrumentation().getContext();
Context context = getContext();
helper = new MySQLiteHelper(context);
assertNotNull(helper);
SQLiteDatabase db = helper.getWritableDatabase();
assertNotNull(db); <---- it fails here !
के रूप में आप देख सकते हैं मैं कई अलग अलग संदर्भों कि मैंने देखा लोगों का उपयोग करें और के साथ काम के साथ करने की कोशिश की:
यहाँ मेरी कोड है। मैं वास्तव में समझ में नहीं आता कि यह मेरे मामले में क्यों काम नहीं करता है।
मेरी समस्या यह है कि परीक्षण "assertNotNull (डीबी)" पर असफल रहा है; " जिसका अर्थ है कि मैं कभी भी अपना डेटाबेस पुनर्प्राप्त नहीं कर सकता।
क्या मैं यह गलत तरीका कर रहा हूं? क्या मैं सही संदर्भ का उपयोग नहीं कर रहा हूं?
संपादित:
junit.framework.AssertionFailedError
at junit.framework.Assert.fail(Assert.java:55)
at junit.framework.Assert.assertTrue(Assert.java:22)
at junit.framework.Assert.assertNotNull(Assert.java:256)
at junit.framework.Assert.assertNotNull(Assert.java:248)
at junit.framework.TestCase.assertNotNull(TestCase.java:417)
at com.databerries.LocationDataHandlerTest.testAddLocation(LocationDataHandlerTest.java:72)
क्या आप लॉगकैट जोड़ सकते हैं? विवरण में अपनी समस्या क्या है .. –
क्या आपने 'getInstrumentation.getTargetContext()' की कोशिश की है? –
हाँ, यह मुझे लाइन पर एक शून्य सूचक अपवाद फेंकता है: 'संदर्भ संदर्भ = getInstrumentation()। GetTargetContext(); ' –