Выбор ответа Junior Тестирование обновлено
Какой запрос Testing Library первым
Вопрос
Какой запрос Testing Library рекомендуется использовать в первую очередь, чтобы найти кнопку «Сохранить»?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: getByRole('button', { name: 'Сохранить' }). getByRole ищет элемент так, как его видят пользователь и скринридер: по роли и доступному имени.
Варианты ответа
container.querySelector('.btn-save')getByTestId('save')getByRole('button', { name: 'Сохранить' })правильный ответgetByText('Сохранить')для любых элементов
Разбор
getByRole ищет элемент так, как его видят пользователь и скринридер: по роли и доступному имени. Заодно тест проверяет доступность: если кнопка сделана из div без роли, она не найдётся.
- CSS-классы это детали реализации, тест сломается при рефакторинге стилей.
data-testidэто запасной вариант, когда у элемента нет роли и текста.getByTextподходит для текста, но не проверяет, что это действительно кнопка.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.