GraphQL: как писать тесты junit для graphql spqr и весенней загрузки

Я реализовал конечные точки GraphQL с весенней загрузкой, используя следующую библиотеку - https://github.com/leangen/graphql-spqr. В настоящее время у меня есть junits для конечных точек REST с использованием WebTestClient, и я пробовал писать junits для spqr аналогичным образом, но это не работает.

GraphQL поддерживает метод POST для всех конечных точек, так что кто-нибудь знает, как передавать запросы и запросы на изменение с помощью клиента веб-тестирования ИЛИ Есть ли другой способ написать junits для spqr lib?


person Som    schedule 15.06.2021    source источник
comment
может показать вашу конечную точку graphQL со схемой? запрос и мутация   -  person Deadpool    schedule 15.06.2021


Ответы (1)


Что не работает? Запросы GraphQL - это обычные HTTP-запросы с (обычно) телом JSON, ничего особенного.

Просто опубликуйте JSON со следующими полями:

  • query - запрос / мутация / подписка
  • operationName - требуется только в том случае, если вы отправляете сразу несколько запросов.
  • variables - объект с переменными, например {'name' : 'value'}

Вы также можете передать их как параметры GET. Дополнительные сведения и примеры см. В спецификации GraphQL over HTTP.

Затем вы можете использовать JsonPath для утверждения результата.

assertEquals("John Doe", JsonPath.read(result, "$.data.book[0].author"));
person kaqqao    schedule 23.06.2021