Контрактные тесты и Testcontainers: реалистичное тестирование интеграции
Коротко: Контрактные тесты проверяют, что сервисы придерживаются согласованных интерфейсов; Testcontainers запускают настоящие базы данных и сервисы для тестов в Docker.
Подробнее: Между модульными тестами (изолированными) и E2E-тестами (всё вместе) лежат интеграционные тесты: понимают ли компоненты друг друга? Два инструмента делают их практичными.
Подробности
Проблема
Моки лгут: кто в тесте заменяет базу данных моком…
См. также: пирамида тестирования, мокинг и тестовые дублёры, OpenAPI и Swagger, Docker