HTTP 200 ≠ корректный JSON
HTTP 200 говорит только об одном: сервер успешно обработал запрос. Но это не значит, что данные внутри ответа правильные.
Например, в документации поле называется drink, а в фактическом ответе — drnik. Значение напитка есть, но имя поля ошибочное. Следующий сервис ожидает drink и не найдёт его.
При проверке JSON разделяйте три вещи:
🔹 Наличие — поле существует?
🔹 Тип — значение нужного типа?
🔹 Значение — соответствует требованиям?
Даже правильная строка может находиться не в том поле или содержать неверное значение.
Для теста задайте небольшой контракт: обязательные поля, их типы и допустимые значения. Не копируйте ожидания из заведомо ошибочного ответа — иначе тест просто закрепит дефект.
⚠️ Дополнительные поля — отдельный вопрос. Если контракт разрешает расширение ответа, неизвестное поле само по себе не ошибка. Но в примере выше проблема ещё и в том, что обязательного drink нет.
В Checkcraft такие проверки можно сохранить и запускать повторно, а подробный отчёт показывает данные, на которых основан результат.
С какой ошибкой сталкиваетесь чаще: пропавшее поле, неверный тип или неверное значение?
Я разрабатываю Checkcraft Free (beta) для Windows и Linux: checkcraft.ru
Пример учебный; ошибки внесены специально.
1 минута
2 дня назад