【发布时间】:2019-09-28 19:23:57
【问题描述】:
我正在尝试使用 Espresso-Intents 库删除 Android 相机的结果。
我知道要初始化 Espresso-Inents 库,我需要定义一个 IntentsTestRule。我已经根据我的测试进入的第一个 Activity 定义了规则,即 MainActivity.class,因此规则是这样编写的:
@Rule
public IntentsTestRule<MainActivity> mIntentsTestRules = new IntentsTestRule(MainActivity.class);
问题是 MainActivity 永远不会加载,因为系统 Intent 启动 MainActivity 正在被 Espresso-Intents 捕获..
我收到此异常:
java.lang.RuntimeException: Could not launch intent Intent { act=android.intent.action.MAIN flg=0x10000000 cmp=com.greenpathenergy.facilitysurveyapp/.ui.activities.MainActivity } within 45 seconds.
此外,由于此 Intent 被 Espresso-Intents 捕获,并且我需要在同一个 @Test 块中从 MainActivity 移动到 EditorActivity,如何在存根外部 Intent 时允许一些内部 Intents 通过(例如当 EditorActivity 调用在 EditorActivity 中触发的 Camera API)?
谢谢!
【问题讨论】:
-
@Code-Apprentice 谢谢我下次会这样做,我已经提出了答案,如果不是最佳的,我不介意你批评。我发布的答案应该澄清最初的问题并表明我试图表达的真正意图(因为没有更好的词)。
-
IntentsTestRule 现在已被弃用..
标签: android android-intent android-espresso stub ui-testing