Android 安卓-带回压功能的浓缩咖啡测试
我正在尝试用Espresso框架测试我的应用程序。应测试在主活动中按back键时是否退出应用程序,以及在从主活动调用另一个活动然后按back键时是否显示主应用程序Android 安卓-带回压功能的浓缩咖啡测试,android,android-espresso,Android,Android Espresso,我正在尝试用Espresso框架测试我的应用程序。应测试在主活动中按back键时是否退出应用程序,以及在从主活动调用另一个活动然后按back键时是否显示主应用程序 public class MainActivityTest { @Rule public IntentsTestRule<MainActivity> intentsTestRule = new IntentsTestRule<>( MainActivity.class
public class MainActivityTest {
@Rule
public IntentsTestRule<MainActivity> intentsTestRule = new IntentsTestRule<>(
MainActivity.class
);
@Test
public void test_pressBack() {
try {
pressBack();
fail();
} catch (NoActivityResumedException exc) {
// test successful
}
}
@Test
public void test_anotherActivity_pressBack() {
onView(withId(R.id.button1)).perform(click());
pressBack();
intended(hasComponent(new ComponentName(getTargetContext(), MainActivity.class)));
}
}
关于第一次测试-您可以使用
Espresso.pressBackUnconditionally()
这是不抛出NoActivityResumedException
异常。然后检查您的活动是否正在前台运行
关于第二次试验:
intended(hasComponent(MainActivity::class.qualifiedName))
为我工作(Kotlin中的代码)。因此,基本上使用
hasComponent(String className)
而不是hasComponent(ComponentName ComponentName)
那么问题是什么呢?你还没有提供第二个的代码test@Shurov问题是这两个测试应该是什么样子,特别是当第二个测试用例抛出异常时。第二个测试的代码已经用第二个方法给出了-名为test\u anotherActivity\u pressBack
-注释为测试用例。对不起,我的错。我在下面添加了一个答案当第一个测试工作时,第二个测试在使用designed(hasComponent(MainActivity.class.getName())时仍然显示相同的错误代码>在后按Back()
。
intended(hasComponent(MainActivity::class.qualifiedName))