Вступить в клуб →
средняявопросТестирование REST API

Из ответа пропало поле, автотесты зелёные, мобильный клиент упал: какую проверку внедрять

Автотест на карточку заказа проверяет три поля точечными утверждениями:

body = requests.get(f"{BASE_URL}/orders/1042", headers=AUTH).json()
assert body["id"] == 1042
assert body["status"] == "NEW"
assert body["total_price"] == 1500

В релизе бэкенд перестал отдавать поле delivery_date. Автотесты остались зелёными, мобильное приложение на проде упало при открытии заказа.

Что внедрить, чтобы такие изменения ловились до прода?

  • Валидацию ответа целиком по модели или схеме (Pydantic, JSON Schema) с запуском в пайплайне на каждый merge request
  • Дописать в каждый тест утверждение на каждое поле ответа вручную и следить за полнотой списка на ревью
  • Сверять ответ с эталонным JSON-файлом целиком, включая идентификаторы, суммы и метки времени
  • Договориться, что бэкенд-разработчики пишут об изменениях ответа в командный чат за спринт до выката

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела