के साथ इरादे को दबाते समय त्रुटि मेरे पास दो अनुप्रयोग हैं जो इरादों के माध्यम से एक दूसरे के साथ बातचीत करते हैं। मुझे लगता है कि मान लीजिए कि अनुप्रयोग एक जाने सत्यापित करना चाहते हैं सही ढंग से वास्तव में अनुप्रयोग बी लॉन्च किए बिना के लिए अनुप्रयोग बीstartActivity
कहता है। मैंने intending
के विभिन्न संयोजनों की कोशिश की है और एस्प्रेसो ने अभी भी ऐप बी लॉन्च करने के बजाय इरादे के माध्यम से लॉन्च किया है। इससे शेष परीक्षण विफल हो जाते हैं क्योंकि UI को ऐप बी द्वारा अवरोधित किया जाता है। कोई विचार?एस्प्रेसो
@RunWith(AndroidJUnit4.class)
@LargeTest
public class MyActivityUiIntentsTest
{
@Rule
public IntentsTestRule<MyActivity> activityRule =
new IntentsTestRule<>(MyActivity.class, true, false);
@Test
public void shouldStartOtherActivityWhenButtonClicked()
{
Intents.init();
intending(toPackage("my.package"))
.respondWith(new ActivityResult(Activity.RESULT_OK, null));
activityRule.launchActivity(new Intent());
onView(withId(R.id.viewId)).perform(click());
intended(hasComponent(hasShortClassName("the.other.class.name")));
Intents.release();
}
}
UPDATED: onClick
के लिए कोड:
@OnClick(R.id.viewId)
public void startOtherActivity()
{
Intent intent = new Intent();
intent.setClassName("my.package", "the.other.class.name");
startActivity(intent);
finish();
}
शुरू की है हम onClick में आशय निर्माण के लिए कोड को देख सकते हैं launchActivity नीचे अपना
intending...
कोड ले जाएँ और.init()
निकालना चाहते हैं? और क्या आपने इरादे पर पैकेज नाम लॉग किए हैं? I.e आपका इरादा सही इरादे को पकड़ नहीं रहा है – Blundell'ऑनक्लिक' नमूना कोड जोड़ा गया। – brwngrldev
आप किस डिवाइस/एमएमयू एपीआई संस्करण पर चल रहे हैं? –