Назад

Тебе не нужен data-testid для тестирования

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

Тебе не нужен data-testid для тестирования

Dominik Dorfmeister в своей статье разбирает, почему атрибут data-testid — это признак плохого accessibility и проблем с интерфейсом.

Главная мысль: если для теста тебе нужен testid, значит элемент сложно найти так, как это делает пользователь. А пользователь (и скринридер) ориентируется не на data-testid, а на роли, текст и доступные имена.

👉 Вместо этого автор предлагает:

  • искать элементы по роли (getByRole)
  • использовать доступные имена (aria-label, текст)
  • строить UI так, чтобы он был понятен не только глазу, но и ассистивным технологиям

data-testid — не зло само по себе. Но его частое использование — это симптом: либо плохой семантики, либо неудобного UI.

💡 Хороший тест = почти как пользовательский сценарий Если тест читается как «найди кнопку с текстом Submit» — ты на правильном пути.

Читать

Скопировано