intermediate

Component tests

Выбирайте границы теста, осознанно мокайте сеть или время и проверяйте поведение, а не внутренности.

Компонентные тесты стоят между unit-тестами чистых хелперов и полными E2E-сценариями. Выберите минимальное дерево render, доказывающее контракт — мокайте сеть на границе, не каждый потомок. Подменяйте таймеры для debounce; MSW для реалистичного HTTP.

Проверяйте то, что видит пользователь: текст, aria-атрибуты, disabled-кнопки. Снимки всего дерева — редко; они скрывают регрессии. Одно поведение на тест упрощает диагностику.

На интервью объясняйте концепцию на конкретном примере и называйте поведение, которое проверяют.

Типовые ошибки: скрывать поток данных, дробить компоненты чрезмерно и выполнять побочные эффекты в render.

Компромисс часто между ясностью и переиспользованием или между явными props и удобством.

Чеклист:

  • Мокайте IO на границах системы.
  • Проверяйте видимое поведение и состояние a11y.
  • Держите тесты сфокусированными и независимыми.