![](/img/trans.png)
[英]Why is activity not launching in Android Instrumentation test (Activity Test) with espresso?
[英]How to test launching new Activity with Espresso via OnClick action?
我在Fragment中有一个RecyclerView
,通过单击每个必须启动的活动( SampleActivity
)。
我为此行为编写了一些UI测试:
@Test
public void listRecyclerView_ClickOnTapligh() {
Espresso.registerIdlingResources(simpleListFragment.idlingResource);
onView(withId(R.id.root_list))
.perform(RecyclerViewActions.actionOnItemAtPosition(1, click()));
Intents.init();
intended(hasComponent(SampleActivity.class.getName()));
Intents.release();
}
但是我得到这个错误:
android.support.test.espresso.base.DefaultFailureHandler$AssertionFailedWithCauseError: Wanted to match 1 intents. Actually matched 0 intents.
IntentMatcher: has component: has component with: class name: is "com.sample.sdk.android.view.SamppleActivity" package name: an instance of java.lang.String short class name: an instance of java.lang.String
我也尝试过
intended(hasComponent(new ComponentName(getTargetContext(), TaplighActivity.class)));
但是我有同样的错误。
尝试以下解决方法:
@Rule
public ActivityTestRule<SampleActivity> activityRule
= new ActivityTestRule<>(SampleActivity.class, true, false);
@Test
public void listRecyclerView_ClickOnTapligh() {
Espresso.registerIdlingResources(simpleListFragment.idlingResource);
onView(withId(R.id.root_list))
.perform(RecyclerViewActions.actionOnItemAtPosition(1, click()));
Intent intent = new Intent();
intent.putExtra("some_key", "some_value");
activityRule.launchActivity(intent);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.