Legendary Trio
automationthoughts

Подходы к тестированию интеграций

Тестировать интеграции с внешними API сложнее, чем тестировать обычную бизнес-логику. Внешний API недоступен в CI, имеет побочные эффекты, может вести себя непредсказуемо.

Наш подход: чёткое разделение кода на «то, что отвечает за логику» и «то, что отвечает за HTTP-вызовы». Логика тестируется с замоканными HTTP-клиентами. Отдельно — интеграционные тесты, которые запускаются вручную или в отдельном окружении.

Ещё одна вещь, которая помогает: запись реальных ответов API и использование их как фикстур. Это позволяет тестировать обработку реальных форматов данных, не поднимая настоящую интеграцию.

Не идеально, но работает.