【问题标题】:GraphQL : How to write junit tests for graphql spqr and spring bootGraphQL:如何为 graphql spqr 和 spring boot 编写 junit 测试
【发布时间】:2021-08-31 15:40:49
【问题描述】:

我已经使用以下库 - https://github.com/leangen/graphql-spqr 在 Spring Boot 中实现了 GraphQL 端点。我目前有使用 WebTestClient 的 REST 端点的 junit,并尝试以类似的方式为 spqr 编写 junit,但这不起作用。

GraphQL 支持所有端点的 POST 方法,所以有人知道如何使用 Web 测试客户端传递查询和变异请求,或者有没有其他方法可以为 spqr lib 编写 junit?

【问题讨论】:

  • 可以显示带有架构的 graphQL 端点吗?查询和变异

标签: spring-boot junit graphql graphql-spqr


【解决方案1】:

什么是不工作的? GraphQL 请求只是带有(通常)JSON 正文的普通 HTTP 请求,没什么特别的。

只需 POST 包含以下字段的 JSON:

  • query - 查询/变异/订阅
  • operationName - 仅当您同时发布多个查询时才需要
  • variables - 带有变量的对象,例如{'name' : 'value'}

您也可以将这些作为 GET 参数传递。查看GraphQL over HTTP spec 了解更多详细信息和示例。

然后您可以使用JsonPath 对结果进行断言。

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

【讨论】:

    猜你喜欢
    • 2020-08-19
    • 2020-07-07
    • 2020-10-01
    • 2021-07-25
    • 1970-01-01
    • 2021-02-07
    • 2021-10-26
    • 2021-07-26
    • 2018-10-07
    相关资源
    最近更新 更多