3.0 KiB
Raw Blame History

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-поведение.