Тебе не нужен data-testid для тестирования
Почему частое использование data-testid сигнализирует о проблемах доступности и как тестировать интерфейс через роли и имена.

Dominik Dorfmeister в своей статье разбирает, почему атрибут data-testid — это признак плохого accessibility и проблем с интерфейсом.
Главная мысль: если для теста тебе нужен testid, значит элемент сложно найти так, как это делает пользователь. А пользователь (и скринридер) ориентируется не на data-testid, а на роли, текст и доступные имена.
👉 Вместо этого автор предлагает:
- искать элементы по роли (
getByRole) - использовать доступные имена (
aria-label, текст) - строить UI так, чтобы он был понятен не только глазу, но и ассистивным технологиям
data-testid — не зло само по себе. Но его частое использование — это симптом:
либо плохой семантики, либо неудобного UI.
💡 Хороший тест = почти как пользовательский сценарий Если тест читается как «найди кнопку с текстом Submit» — ты на правильном пути.