Перейти к основному содержимому

Тестирование

Тестирование является неотъемлемой частью архитектуры приложения. Цель — обеспечить предсказуемость работы бизнес-сценариев, предотвратить регрессии и создать безопасное пространство для рефакторинга.


Общие принципы

MUST

  • Для средних и больших проектов тестовое покрытие обязательно.
  • Отсутствие тестового покрытия должно быть явно зафиксировано в README проекта.

Пирамида тестирования

Распределение тестов должно следовать принципу пирамиды: больше тестов на нижних уровнях, меньше на верхних.


Сравнительная таблица уровней

ХарактеристикаUnitComponentIntegrationE2E
Доля70–80%входит в Unit/Integ15–25%< 5%
Скорость✅ Очень быстро✅ Быстро⚠️ Средне❌ Медленно
Стоимость✅ Дёшево✅ Дёшево⚠️ Средне❌ Дорого
Хрупкость✅ Низкая✅ Низкая⚠️ Средняя❌ Высокая
Что проверяетЛогикуUI-поведениеFeature-flowCritical Path
ИнструментыVitest, MSWRTL, MSWRTL, MSWPlaywright
ИзоляцияПолнаяКомпонентСтраница / виджетНет (black-box)

FORBIDDEN

  • Использовать E2E для проверки edge cases — это зона unit-тестов.

Структура документации