automationthoughts
Подходы к тестированию интеграций
Тестировать интеграции с внешними API сложнее, чем тестировать обычную бизнес-логику. Внешний API недоступен в CI, имеет побочные эффекты, может вести себя непредсказуемо.
Наш подход: чёткое разделение кода на «то, что отвечает за логику» и «то, что отвечает за HTTP-вызовы». Логика тестируется с замоканными HTTP-клиентами. Отдельно — интеграционные тесты, которые запускаются вручную или в отдельном окружении.
Ещё одна вещь, которая помогает: запись реальных ответов API и использование их как фикстур. Это позволяет тестировать обработку реальных форматов данных, не поднимая настоящую интеграцию.
Не идеально, но работает.