मैं एंड्रॉइड स्टूडियो में कुछ एंड्रॉइड इंस्ट्रूमेंटेशन क्लास बनाने की कोशिश कर रहा हूं ताकि मैं अपने ऑर्मेलाइट कक्षाओं का परीक्षण कर सकूं। DBHelper
कक्षा के लिए ऑर्मेलाइट को ऑर्मेलाइट कॉन्फ़िगरेशन फ़ाइल से पढ़ने की आवश्यकता है, जो मेरे res/raw/ormlite_config.txt
में है और R.raw.ormlite_config
का उपयोग करके एक्सेस किया गया है।एंड्रॉइड इंस्ट्रुमेंटेशन में आरआरओ संसाधनों तक पहुंचने के लिए jnnit test
ऐसा कुछ नहीं है जिसे मैं openRawResource(R.raw.ormlite_config)
का उपयोग करने के लिए उपयोग करता हूं, क्योंकि डीबीहेल्पर के सुपरक्लस के लिए निर्माता int संसाधन चाहता है।
जब मैं अपने परीक्षण चलाने के लिए, यह नहीं है कि यह हालांकि पा सकते हैं:
android.content.res.Resources$NotFoundException: Resource ID #0x7f090001
यहाँ पूर्ण स्टैकट्रेस है:
android.content.res.Resources$NotFoundException: Resource ID #0x7f090001
at android.content.res.Resources.getValue(Resources.java:1266)
at android.content.res.Resources.openRawResource(Resources.java:1181)
at android.content.res.Resources.openRawResource(Resources.java:1158)
at com.j256.ormlite.android.apptools.OrmLiteSqliteOpenHelper.openFileId(OrmLiteSqliteOpenHelper.java:310)
at com.j256.ormlite.android.apptools.OrmLiteSqliteOpenHelper.<init>(OrmLiteSqliteOpenHelper.java:76)
at com.inadaydevelopment.herdboss.DB.<init>(DB.java:40)
at com.inadaydevelopment.herdboss.DB.shared(DB.java:31)
at com.inadaydevelopment.herdboss.ORMLiteTest.setup(ORMLiteTest.java:29)
...
at android.support.test.internal.runner.TestExecutor.execute(TestExecutor.java:59)
at android.support.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:262)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1853)
Tests ran to completion.
DBHelper:
public class DBHelper extends OrmLiteSqliteOpenHelper {
public DBHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION, R.raw.ormlite_config);
}
}
मेरे जुनीट टेस्ट केस:
@RunWith(AndroidJUnit4.class)
public class ORMLiteTest {
@Before
public void setup() {
DB.shared(InstrumentationRegistry.getContext());
}
}
Commonsware के जवाब के साथ निर्धारित:
@RunWith(AndroidJUnit4.class)
public class ORMLiteTest {
@Before
public void setup() {
DB.shared(InstrumentationRegistry.getTargetContext());
}
}