К содержанию
Checkcraft
Практический сценарий

Тестирование GraphQL API и проверка data и errors

Поможем с первой проверкой →

GraphQL-запрос вернул ответ, но нужного объекта нет. Посмотрите отдельно на data и errors, прежде чем считать операцию успешной.

Checkcraft ·

Настроить query

В редакторе HTTP-запроса выберите тип тела GraphQL. Заполните query, variables и при необходимости operationName. Пример требует вашего тестового endpoint со схемой, где есть поле order. Это иллюстрация такой схемы, а не готовый публичный сервис.

query Order($id: ID!) { order(id: $id) { id status total } }

Передать переменные

Вставьте JSON ниже в variables. Проверьте endpoint, авторизацию и Content-Type. Checkcraft формирует тело с query и variables, а непустой operationName добавляет отдельно. Корректный JSON переменных ещё не означает, что они соответствуют типам схемы сервера.

{"id":"ORD-1042"}

Проверить data и errors

Задайте правила для полей внутри data.order и отдельно обработайте errors. Ответ может содержать частичные данные вместе с ошибками. Для учебного успешного сценария определите ожидаемый status и отсутствие ошибок, а затем проверьте неизвестный id отдельным тестом.

Не расширять вывод за пределы теста

Проверка JSON-ответа не является аудитом всей GraphQL-схемы. Здесь рассмотрены HTTP-запрос и ответ. Подписки, федерация и производительность требуют отдельных сценариев. Начните с одной операции и заведомо неверного результата.

Документация

Ответ GraphQL

Начните с примера по ссылкам и сопоставьте результат с требованием своей проверки.

Можно спросить человека

Поможем с первой проверкой

Расскажите, что хотите проверить или на каком шаге остановились. Поможем запустить Checkcraft, подобрать пример и разобраться с первым прогоном. Можно написать до скачивания.

Telegram-группа открытая: не публикуйте пароли, токены и конфиденциальные рабочие данные. Для первого вопроса достаточно описания задачи.

Можно написать напрямую support@checkcraft.ru

Без регистрации. Ответим по email. Это обращение в поддержку, а не подписка на рассылку.