@tarp20

Какая лучшая практика тестировать api?

есть функция

def is_car_exist(make, model):
    
    url = f'https://vpic.nhtsa.dot.gov/api/vehicles/GetModelsForMake/\
    {make.capitalize()}?format=json'
    data = requests.get(url).json()['Results']
    return any(model.capitalize() == car['Model_Name'] for car in data)


как лучше всего протестировать сам запрос на внешний api???
  • Вопрос задан
  • 188 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Akela_wolf
Extreme Programmer
Этот - никак. Как минимум нужно избавиться от захардкоденого домена и вынести его в конфиг. Дальше возможны варианты:
1. Wiremock - создает локальный сервер и отвечает на запросы к нему. То есть, "прикидывается" внешним сервисом для вашей программы.
2. Юнит-тесты. Но для них нужно изолировать обращения к внешнему сервису и "закрыть" их интерфейсом, вместо которого будет подставляться тестовая реализация внешнего сервиса.
Ответ написан
Комментировать
fox_12
@fox_12 Куратор тега Python
Расставляю биты, управляю заряженными частицами
Мокапить запросы на внешние ресурсы
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы