Есть 2 подхода к этой проблеме ...
Ваше приложение работает в реальном времени с реальным пользовательским трафиком:
Если у вас есть приложение, работающее в рабочей среде, которое имеет живой трафик и зависит от внешнего API, у вас нет другого выбора, кроме как внимательно следить и иметь хорошие пороговые значения, чтобы как можно быстрее узнать, когда внешний API вносит изменения без уведомления.
Вы всегда должны учитывать, что:
- изменение API со временем
- у поставщика API могут быть ошибки
- Тест-комплекты производителей API могут содержать ошибки или не полностью покрывать все функциональные возможности API
Ваше приложение является установкой и имеет запланированные версии / выпуски:
в этом случае у вас есть льготный период для сбоя ... живой пользователь не вступает в силу немедленно из-за изменений внешнего API.
на мой взгляд, это более простая задача. написать тест (полный сквозной тест), который выполняет реальные транзакции / http / запросы к вашему приложению, которые вызывают внешний API и проверяют отсутствие сбоев. нет тест-наборов, не издевается над реальной транзакцией.
после выполнения этой задачи вы можете запускать ее каждые 24 часа, 1 минуту и т. д.
хорошие практики:
- автоматизировать все
- есть человек, с которым вы можете быстро связаться с поставщиком внешнего API
- не доверяйте вслепую
- быстрый сбой - если ваш сервис сильно зависит от внешнего интерфейса, не допускайте сбоя вашего сервиса. быстро провалиться и вернуть правильные сообщения об ошибках
инструменты: