के कारण विफल रहा है, मैं एंड्रॉइड स्टूडियो 1.5.1 में एस्प्रेसो 2.2.1 के साथ परीक्षण चलाने का प्रयास करता हूं। जब मैं LoginActivityTest चलाता हूं तो मुझे यह त्रुटि मिलती है: "android.content.res.Resources $ NotFoundException" जब लॉगिन एक्टिविटी MyService.java और MyService को पूर्णांक संसाधनों की आवश्यकता होती है (यानी R.integer.number_of_days)। यह संसाधन R.integer.xml फ़ाइल में एक gradle (संस्करण 1.5.0) मॉड्यूल में परिभाषित किया गया है।
परियोजना की संरचना:
RootFolder/ ├----projectA/ │ ├----build.gradle │ ├----settings.gradle │ └----src/androidTest/java/.../LoginActivityTest │ └----src/main/java/.../LoginActivity │ └----Module/ ├----krill/ │ └----build.gradle │ ├----settings.gradle │ └----src/main/ | └----java/service/MyService.java | └----res/value/integers.xml │ └----otherModule/ └----build.gradle
मेरा परीक्षण वर्ग:
@RunWith(AndroidJUnit4.class)
@LargeTest
public class LoginActivityTest extends ActivityInstrumentationTestCase2<LoginActivity >{
@Rule
public ActivityTestRule<LoginActivity> mActivityRule = new ActivityTestRule(LoginActivity.class);
public LoginActivityTest() {
super(LoginActivity.class);
}
@Test
public void testConfigDialog() {
onView(withId(R.layout.login_custom_view));
onView(withId(R.id.id_username)).perform(clearText());
onView(withId(R.id.id_password)).perform(clearText());
}
}
त्रुटि स्टैकट्रेस:
Running tests
Test running started
android.content.res.Resources$NotFoundException: Resource ID #0x7f090004
at android.content.res.Resources.getValue(Resources.java:1233)
at android.content.res.Resources.getInteger(Resources.java:989)
at it.insoft.android.lib.auth.infrastructure.AuthenticatorPreferences.<init>(MyService.java:36)
at it.insoft.android.lib.auth.infrastructure.AuthenticatorPreferences.getInstance(MyService.java:45)
at it.insoft.android.lib.auth.application.BaseLoginActivity.onCreate(BaseLoginActivity.java:27)
at it.insoft.android.novae.application.LoginActivity.onCreate(LoginActivity.java:57)
at android.app.Activity.performCreate(Activity.java:5937)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
at android.support.test.runner.MonitoringInstrumentation.callActivityOnCreate(MonitoringInstrumentation.java:534)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
at android.app.ActivityThread.access$800(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
java.lang.RuntimeException: Unable to start activity ComponentInfo{it.insoft.android.novae/it.insoft.android.appname.application.LoginActivity}: android.content.res.Resources$NotFoundException: Resource ID #0x7f090004
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2298)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
at android.app.ActivityThread.access$800(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x7f090004
at android.content.res.Resources.getValue(Resources.java:1233)
at android.content.res.Resources.getInteger(Resources.java:989)
at it.insoft.android.lib.auth.infrastructure.AuthenticatorPreferences.<init>(AuthenticatorPreferences.java:36)
at it.insoft.android.lib.auth.infrastructure.AuthenticatorPreferences.getInstance(MyService.java:45)
at it.insoft.android.lib.auth.application.BaseLoginActivity.onCreate(BaseLoginActivity.java:27)
at it.insoft.android.novae.application.LoginActivity.onCreate(LoginActivity.java:57)
at android.app.Activity.performCreate(Activity.java:5937)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
at android.support.test.runner.MonitoringInstrumentation.callActivityOnCreate(MonitoringInstrumentation.java:534)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251)
... 10 more
Test running failed: Instrumentation run failed due to 'android.content.res.Resources$NotFoundException'
मैं इस समस्या को कैसे ठीक कर सकता हूं?
और यदि आप एक ही क्रिया को मैन्युअल रूप से (स्वयं द्वारा) करते हैं तो यह ठीक काम करता है? – Sufian
यदि मैं ऐप चलाता हूं (परीक्षण के बिना), तो सब ठीक काम करता है। मुझे यकीन नहीं है कि मैं आपके प्रश्न का उत्तर देता हूं। – Insoft
मुझे 'classpath' com.android.tools.build को अपडेट करने के बाद एक ही त्रुटि मिल रही है: gradle: 2.0.0-beta3''। ऐसा लगता है कि Google ने इसे अभी जारी किया है। कल मुझे यह समस्या नहीं थी :( – Hesam