android - 执行 Espresso 测试并在 EditText 为空时失败

标签 android android-espresso

安卓工作室 2.1.2

如果用户单击按钮并且用户名为空,我试图让测试失败。这是我下面的代码。然而,测试总是通过。有没有一种方法可以让测试在 EditText 为空时失败。

@Test
public void shouldFailToLoginWithEmptyUserName() {
     onView(withId(R.id.btnSignIn)).perform(ViewActions.click());
     onView(withId(R.id.etUsername)).check(ViewAssertions.matches(withText("")));
}

最佳答案

只有当被测试的代码不能正常工作时,测试才应该失败。由于模拟错误的用户输入而设计为失败的测试设计不佳。相反,测试应该检查应用程序在用户行为不当时是否正确响应。例如,如果应用程序在用户单击“登录”按钮但未输入用户名后显示错误消息,则测试应检查错误消息是否正确显示。这样的测试将在应用程序正确实现时通过,而在存在错误时失败。

关于android - 执行 Espresso 测试并在 EditText 为空时失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38963692/

相关文章:

java - 如何使用 Espresso + JMockit

android - 网格布局上的 Fling 手势检测

android - 将 Glide 图像更新到 ImageView

Android Studio 无法识别 Espresso 导入

安卓测试 : Waited for the root of the view hierarchy to have window focus

android - 包含 espresso-contrib :2. 0 时的 java.lang.IncompatibleClassChangeError

android - 当您必须使用父 Activity 引用时,如何使用 `FragmentScenario` 单独测试 Fragment

android - LogCat 无法显示异常

java - 在抽屉导航 Activity 中显示获取的个人资料图片

android - 每次用户登录时,Google 登录都使用相同的帐户