![](/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.