执行Espresso测试,如果EditText为空则失败



Android Studio 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("")));
}

只有当被测试的代码不能正常工作时,测试才应该失败。因为模拟糟糕的用户输入而设计为失败的测试不是设计良好的测试。相反,测试应该检查当用户行为不当时应用程序是否正确响应。例如,如果用户在没有输入用户名的情况下点击"Sign In"按钮后,应用程序显示错误信息,那么测试应该检查错误信息是否正确显示。当应用程序正确实现时,这样的测试将通过,当存在错误时,测试将失败。

最新更新