Интеграционное тестирование
Тестирование, проверяющее, что разные модули или сервисы работают правильно вместе, обычно тестируя взаимодействия между компонентами, а не отдельные юниты.
Определение
Интеграционные тесты проверяют, что независимо разработанные модули ПО работают вместе как ожидается. Они находятся между юнит-тестами (тестирование изолированного кода) и end-to-end тестами (тестирование полных сценариев). Распространённые типы: API интеграционные тесты, тесты интеграции с БД, тесты сервис-сервис.
Почему это важно
Интеграционные тесты ловят баги на границах компонентов — самый частый источник проблем в продакшне. Хотя они медленнее юнит-тестов, они дают уверенность, что система работает как целое. Сбалансированная пирамида тестов включает значительный слой интеграционных тестов.
Пример
Интеграционный тест проверяет, что когда UserService создаёт пользователя, он правильно вызывает EmailService для отправки приветственного письма и сохраняет пользователя в БД с правильными связями.