Unit-тесты проверяют одну единицу (функцию, тип) в изоляции; зависимости подменяются моками или фейками. Интеграционные тесты проверяют взаимодействие компонентов: реальная БД, HTTP-сервер, очередь. В Go unit обычно в _test.go рядом с кодом; интеграционные часто в отдельном пакете или за флагом/env (testcontainers, реальный порт).
// unit
mockDB := NewMockDB()
svc := NewService(mockDB)
// integration
db := testcontainers.Postgres(ctx)
svc := NewService(db)