Проверяет понимание использования атрибута data-testid для селекторов в тестах, чтобы избежать зависимости от CSS-классов или структуры DOM.
Атрибут data-testid — это пользовательский HTML-атрибут, который добавляется к элементам интерфейса специально для целей тестирования. Его основная задача — предоставить стабильный и предсказуемый способ поиска элементов в DOM при написании автоматизированных тестов (например, с помощью React Testing Library, Cypress, Selenium).
Без data-testid разработчики часто используют CSS-классы, ID или текстовое содержимое для поиска элементов. Однако эти атрибуты могут меняться в процессе разработки: дизайнер переименовал класс, разработчик изменил ID для стилей, текст кнопки обновили. В результате тесты ломаются, хотя функциональность осталась прежней. data-testid решает эту проблему, так как он предназначен исключительно для тестов и не влияет на внешний вид или поведение.
Добавьте атрибут к элементу в разметке:
<button data-testid="submit-button">Отправить</button>В тесте вы можете найти этот элемент по значению атрибута:
// React Testing Library
const button = screen.getByTestId('submit-button');
fireEvent.click(button);Или в Cypress:
cy.get('[data-testid="submit-button"]').click();Такой подход гарантирует, что тест не сломается, если изменится класс, ID или текст кнопки.
data-testid (например, React Testing Library).Вывод: используйте data-testid для ключевых элементов интерфейса, чтобы сделать тесты устойчивыми к изменениям вёрстки и упростить их поддержку.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию