Юнит-тесты vs интеграционные тесты?

Junior
821 просмотров
AFK Offer AI

Unit-тесты проверяют одну функцию/метод изолированно, зависимости мокаются. Быстрые, стабильные, ловят баги в логике.

Интеграционные — проверяют взаимодействие компонентов: сервис + БД, сервис + внешний API. Медленнее, могут быть flaky, но ловят баги на стыках.

В Go unit-тесты — _test.go файлы, go test ./.... Интеграционные обычно отделяют build-тегом //go:build integration или проверкой env-переменной. Используй testcontainers для поднятия БД в Docker. Пирамида: много unit, меньше integration, мало e2e.

Следующий вопрос

Чем array отличается от linked list?