ActivityTestRule和IntentTestRule有什么区别

时间:2017-03-28 08:41:29

标签: android testing android-espresso

在探索测试时我遇到了ActivityTestRule和IntentTestRule,据我所知,IntentTestRule是ActivityTestRule的扩展,用于Espresso Intents。

但核心是使用这些测试规则的真正目的。

1 个答案:

答案 0 :(得分:5)

The purpose is

  

在每次使用@Test注释的测试之前初始化Espresso-Intents   每次测试运行后都会释放Espresso-Intents。

@Override
protected void afterActivityLaunched() {
    Intents.init();
    super.afterActivityLaunched();
}

@Override
protected void afterActivityFinished() {
    super.afterActivityFinished();
    Intents.release();
}

Alternatively

  

您可以使用ActivityTestRule代替IntentsTestRule,然后再使用@Before   您的@AfterIntents.init()会手动调用Intents.release()和   分别为**Error: SQLSTATE[HY000]: General error: 1366 Incorrect string value: '\xE5\x88\xB6\xE7\xB6\x9A...' for column 'content' at row 1**

And the purpose of Espresso-intents is

  

启用由...发送的Intents的验证和存根   被测试的申请。它就像Mockito,但是对于Android Intents。