3.0 KiB
Frontend Test Hygiene
Дата: 2026-06-23 Статус: спецификация
Контекст
Во frontend уже есть Vitest, Testing Library и MSW, но после нескольких фаз миграции тестовая инфраструктура может накопить лишние абстракции, дублирующиеся helpers и разъехавшиеся conventions. Это не проблема покрытия как такового, а проблема ясности, локальности и поддержки тестов.
Эта фича нужна, чтобы тестовый слой оставался простым: тесты должны быть рядом с кодом, helpers должны быть минимальными, а сетевые и контекстные зависимости должны быть предсказуемыми.
Цель
Упростить и нормализовать frontend test infrastructure так, чтобы тесты было легче писать, читать и поддерживать без изменения продуктового поведения.
Требования
1. Test helpers stay minimal
Общие test helpers должны содержать только действительно shared тестовую инфраструктуру. Дублирующие или слишком широкие обёртки нужно убрать или сузить.
2. Testing conventions stay consistent
Frontend тесты должны следовать единым правилам по расположению, mock strategy, QueryClient setup и MSW usage. Новые тестовые паттерны не должны вводить отдельные локальные договорённости без причины.
3. Coverage is preserved
Рефакторинг тестовой инфраструктуры не должен уменьшать существующее покрытие или ломать тесты в колокации с кодом.
4. No production behavior changes
Фича касается только test layer. Production code changes допускаются только если они неизбежны для упрощения тестовой поверхности, и тогда должны быть минимальными.
Ограничения
- Не переписывать всю тестовую базу целиком.
- Не добавлять новую тестовую платформу.
- Не менять backend test strategy.
Критерии приемки
- Test helpers и wrappers стали проще или уже, чем до фичи.
- Основные frontend тесты продолжают проходить.
- Тестовая документация описывает актуальные conventions.
- Не изменено пользовательское runtime-поведение.