有什么建议吗?
谢谢。
Apollo的GraphQL平台。它为您的各个解析器提供了全面的遥测,可以与VS Code集成,以便让开发人员实时了解其查询的效率。不过需要付费。
自行编写。对于足够简单的用例,可能是有道理的选择,但如果您正在寻找丰富的功能集,购买而不是构建可能更为明智。
我正在使用SoapUI 5.4.0(社区版),测试GraphQL请求时没有任何问题。
将它们视为REST请求,并添加一个头,例如Content-Type: application/graphql。
详见下图:
你想具体测试什么?
我们有许多自动化的健全性检查测试,每次构建时都会运行:
模式是否有效(根据 graphql-js
)?如果您的实现允许例如同一类型名称的多个定义或任何其他数量的微妙错误,则这可能非常容易出错。
这是破坏性的模式更改吗?如果是这样,除非有特定的 git 提交消息确认和接受它,否则会破坏构建。使用 graphql-js
可以很容易地执行此操作-对当前生产环境运行内省查询,对当前构建运行内省查询,并使用内置的 findBreakingChanges
函数。
请注意,graphql-js
测试并不意味着您的服务器必须使用 JS 编写-我们的服务器使用 ocaml-graphql-server 使用 ReasonML 编写,然后在构建时,我们使用一个 node 测试套件来像任何其他客户端一样访问它。
最后,我们还有一些测试用例来运行查询/变更以进行端到端的 API 服务器测试。总体而言,这方面的回归测试已经非常强大。
请记住,您可以使用任何 HTTP 客户端轻松访问 GraphQL 服务器,您的测试套件中不必具备 GraphQL 意识。我建议在上述稳定性检查之上采用此方法。
对于自动化测试,可以使用 https://github.com/ohler55/graphql-test-tool/gtt。它是用 Go 语言编写的,但作为独立应用程序,可以与任何 GraphQL 服务器一起使用。我们将其用于单元测试和 CI。