intermediate

Тесты

Выполняйте unit, integration, component и end-to-end тесты в соответствии с риском и потребностью в скорости обратной связи.

Стратегия тестов в CI балансирует уверенность и скорость обратной связи. Unit-тесты быстро ловят логические регрессии; integration — границы модулей; component — поведение UI; end-to-end — критичные пользовательские сценарии.

| Слой | Типичный фокус | |------|----------------| | Unit | Чистая логика, быстрый feedback | | Integration | БД, HTTP, границы модулей | | Component | Состояния UI с Testing Library | | E2E | Критичные пути (Playwright, Cypress) |

					- run: npm test -- --coverage
  env:
    CI: true
				

Хорошие пайплайны шардируют медленные suite, ограниченно ретраят известные flakes и при безопасности используют выбор по изменённым файлам. Блокировка merge из-за flaky E2E разрушает доверие быстрее, чем их пропуск.

На интервью: компромиссы test pyramid, борьба с flakes, детерминированные fixtures, changed-file selection и какие suite блокируют merge.

Типовые ошибки: flaky тесты подрывают доверие к CI; мало integration-тестов — моки доказывают неверное поведение; полный E2E matrix на каждую опечатку.

Компромисс — ширина покрытия против длительности пайплайна и стоимости поддержки.

Чеклист:

  • Слой теста соответствует риску.
  • Детерминированные fixtures.
  • Быстро находите и чините flakes.
  • Явно объявите merge-blocking suite.