在探索测试时我遇到了ActivityTestRule和IntentTestRule,据我所知,IntentTestRule是ActivityTestRule的扩展,用于Espresso Intents。
但核心是使用这些测试规则的真正目的。
答案 0 :(得分:5)
在每次使用@Test注释的测试之前初始化Espresso-Intents 每次测试运行后都会释放Espresso-Intents。
@Override
protected void afterActivityLaunched() {
Intents.init();
super.afterActivityLaunched();
}
@Override
protected void afterActivityFinished() {
super.afterActivityFinished();
Intents.release();
}
您可以使用
ActivityTestRule
代替IntentsTestRule
,然后再使用@Before
您的@After
和Intents.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。