我在使用espresso测试活动启动时遇到此错误。
android.support.test.espresso.base.DefaultFailureHandler $ AssertionFailedWithCauseError:想要匹配1个意图。实际上匹配了2个意图。
令人惊讶的是,相同代码的其他活动启动测试正在通过。
@RunWith(AndroidJUnit4.class)
public class HomeActivityTest {
@Rule
public final IntentsTestRule<HomeActivity> mHomeActivityRule = new IntentsTestRule<HomeActivity>(HomeActivity.class);
@Test
public void testFundTransferActivityStarted() {
onView(withId(R.id.button_fund_transfer)).perform(click());
intended(hasComponent("mypackage.FundTransferActivity"));
}
}
按钮单击只需使用startActivity启动FundTransfer活动。
你能粘贴你得到的完整错误信息吗?
错误消息也将匹配2 Intents的配置。如果这两个意图具有相同的配置,则意味着您要两次调用startActivity
,即在测试开始和测试结束之间。以下答案适用于最终两次调用相同Intent的特定情况。
两次通话是完全合法的案例。例如,
第1步:点击qazxsw poi启动画廊并选择图像并在qazxsw poi中显示(最初qazxsw poi是Button1
,现在它是ImageView1
)。
第2步:点击ImageView1
再次启动Gallery。
现在,如果你想测试“点击GONE
应该启动Gallery”,那么你不能简单地点击VISIBLE
,因为它最初不可见。你需要先点击ImageView1
。如果这样做,则需要两次启动Gallery。
因此ImageView1
将无法运作。而是使用:ImageView1