Подтверждение тестирования в Android - PullRequest
0 голосов
/ 09 июля 2020

Привет, у вас проблемы с работой. Я хочу нажать кнопку входа в систему и проверить, появляются ли ошибки проверки. Я использую проверки материального дизайна, это то, что я написал

   @Test
    public void click_login_with_empty_fields_gives_errors() {

        onView(withId(R.id.login)).perform(click());
        onView(withId(R.id.login_email2)).check(matches(hasErrorText("Email Field cannot be empty")));
        onView(withId(R.id.login_password2)).check(matches(hasErrorText("Password field cannot be empty")));
    }

Я получаю ошибку

androidx.test.espresso.base.DefaultFailureHandler$AssertionFailedWithCauseError: 'with error: is "Password field cannot be empty"' doesn't match the selected view.
Expected: with error: is "Password field cannot be empty"
Got: "TextInputEditText{id=2131362003, res-name=login_password2, visibility=VISIBLE, width=996, height=141, has-focus=false, has-focusable=true, has-window-focus=true

1 Ответ

1 голос
/ 09 июля 2020

Похоже, вы соответствуете вызову TextInputEditText в onView(Matcher) вместо TextInputLayout. Текст ошибки устанавливается в TextInputLayout, а не в его дочернем EditText. См. этот тест .

Изменить : вам также следует проверить этот поток , где предлагается использовать настраиваемый сопоставитель вместо hasErrorText() .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...