Выбор ответа Junior Тестирование обновлено
RNTL: как искать элементы
Вопрос
Какой запрос RNTL предпочтительнее для поиска кнопки «Войти»?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: getByRole('button', { name: 'Войти' }). Поиск по роли и доступному имени повторяет то, как интерфейс воспринимает пользователь и скринридер, поэтому тест устойчив к рефакторингу и заодно проверяет доступность. testID допустим, когда роли нет, но это деталь реализации.
Варианты ответа
getByTestId('btn-3')- Найти третий
Pressableв дереве по индексу getByRole('button', { name: 'Войти' })правильный ответUNSAFE_getByType(Pressable)
Разбор
Поиск по роли и доступному имени повторяет то, как интерфейс воспринимает пользователь и скринридер, поэтому тест устойчив к рефакторингу и заодно проверяет доступность. testID допустим, когда роли нет, но это деталь реализации. Индексы и поиск по типу компонента ломаются при любых изменениях разметки.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.