intermediate
Component tests
Выбирайте границы теста, осознанно мокайте сеть или время и проверяйте поведение, а не внутренности.
Компонентные тесты стоят между unit-тестами чистых хелперов и полными E2E-сценариями. Выберите минимальное дерево render, доказывающее контракт — мокайте сеть на границе, не каждый потомок. Подменяйте таймеры для debounce; MSW для реалистичного HTTP.
Проверяйте то, что видит пользователь: текст, aria-атрибуты, disabled-кнопки. Снимки всего дерева — редко; они скрывают регрессии. Одно поведение на тест упрощает диагностику.
На интервью объясняйте концепцию на конкретном примере и называйте поведение, которое проверяют.
Типовые ошибки: скрывать поток данных, дробить компоненты чрезмерно и выполнять побочные эффекты в render.
Компромисс часто между ясностью и переиспользованием или между явными props и удобством.
Чеклист:
- Мокайте IO на границах системы.
- Проверяйте видимое поведение и состояние a11y.
- Держите тесты сфокусированными и независимыми.