【发布时间】:2019-12-13 07:15:14
【问题描述】:
在探索测试时,我遇到了 ActivityTestRule 和 IntentTestRule,据我所知,IntentTestRule 是 ActivityTestRule 的扩展,用于 Espresso Intents。
但归根结底,使用这些测试规则的真正目的是什么。
【问题讨论】:
标签: android testing android-espresso
在探索测试时,我遇到了 ActivityTestRule 和 IntentTestRule,据我所知,IntentTestRule 是 ActivityTestRule 的扩展,用于 Espresso Intents。
但归根结底,使用这些测试规则的真正目的是什么。
【问题讨论】:
标签: android testing android-espresso
在使用
@Test注释的每个测试之前初始化 Espresso-Intents 和 每次测试运行后发布 Espresso-Intents。以下代码 sn -p 是IntentsTestRule的示例:
@Rule
public IntentsTestRule<MyActivity> intentsTestRule =
new IntentsTestRule<>(MyActivity.class);
您可以使用
ActivityTestRule代替IntentsTestRule,然后在 您的@Before和@After手动调用Intents.init()和 分别为Intents.release()。
@Override
protected void afterActivityLaunched() {
Intents.init();
super.afterActivityLaunched();
}
@Override
protected void afterActivityFinished() {
super.afterActivityFinished();
Intents.release();
}
And the purpose of Espresso-intents is
启用对发出的 Intent 的验证和存根 正在测试的应用程序。它类似于 Mockito,但适用于 Android Intents。
【讨论】: