В идеале вы должны писать свои тесты так, чтобы они не вызывали API или базу данных.
Вместо этого вы будете смоделировать конечные точки API в соответствии со спецификацией, а также напишите тест для случаев, когда API возвращает неожиданные результаты или ошибки.
Вот пример пакета, который позволяет вам сделать это:
https://github.com/nealrichardson/httptest
Если вы беспокоитесь, что ваш поставщик может изменить API, поговорите с ними и извлекитеподробности об их управлении изменениями API.
Задайте им вопрос:
Каков ваш процесс управления изменениями? Как избежать внесения изменений в существующие конечные точки, которые используют люди?
(изменено из этого post )
Если вынужно проверить, что API все тот же, провести границу между проверкой API и тестированием вашего кода.
Вам понадобятся два отдельных процесса:
Модульные / приемочные тесты, которые выполняются на макетах конечных точек API. Они работают быстро и сосредоточены на логике вашего приложения.
конвейер для регулярной проверки API. Если ваш код уже работает, вы, скорее всего, обнаружите какие-либо критические изменения в API. Так что это очень избыточно. В исключительных случаях это может быть полезно, но только с очень плохим поставщиком.