GraphQL API - 有没有适用于测试的任何自动化工具?

6
我想测试一个GraphQL API。目前我正在使用GraphiQL,但我正在寻找任何自动化工具......似乎SOAPUI不支持GraphQL测试。
有什么建议吗?
谢谢。

我的团队也有类似的需求,我们基于cucumber-jvm编写了自己的工具,并将其开源以帮助其他人,我们在最新版本中包含了graphql测试。如果你仍在寻找,可以看看https://github.com/JakimLi/pandaria - Jakim
1
Postman在他们的canary渠道中发布了GraphQL支持 - https://www.getpostman.com/downloads/canary - Sivcan Singh
5个回答

3
您基本上有几个选项:
  1. Apollo的GraphQL平台。它为您的各个解析器提供了全面的遥测,可以与VS Code集成,以便让开发人员实时了解其查询的效率。不过需要付费。

  2. HoneyCombDataDog这样的观察工具,也需要付费。

  3. 自行编写。对于足够简单的用例,可能是有道理的选择,但如果您正在寻找丰富的功能集,购买而不是构建可能更为明智。


3

我正在使用SoapUI 5.4.0(社区版),测试GraphQL请求时没有任何问题。

将它们视为REST请求,并添加一个头,例如Content-Type: application/graphql。

详见下图:

SoapUI GraphQL example


只有在服务器端接受application/graphql时才能正常工作。 许多服务器倾向于保持标准并接受json格式。 - Payam

1

你想具体测试什么?

我们有许多自动化的健全性检查测试,每次构建时都会运行:

  1. 模式是否有效(根据 graphql-js)?如果您的实现允许例如同一类型名称的多个定义或任何其他数量的微妙错误,则这可能非常容易出错。

  2. 这是破坏性的模式更改吗?如果是这样,除非有特定的 git 提交消息确认和接受它,否则会破坏构建。使用 graphql-js 可以很容易地执行此操作-对当前生产环境运行内省查询,对当前构建运行内省查询,并使用内置的 findBreakingChanges 函数。

请注意,graphql-js 测试并不意味着您的服务器必须使用 JS 编写-我们的服务器使用 ocaml-graphql-server 使用 ReasonML 编写,然后在构建时,我们使用一个 node 测试套件来像任何其他客户端一样访问它。

最后,我们还有一些测试用例来运行查询/变更以进行端到端的 API 服务器测试。总体而言,这方面的回归测试已经非常强大。

请记住,您可以使用任何 HTTP 客户端轻松访问 GraphQL 服务器,您的测试套件中不必具备 GraphQL 意识。我建议在上述稳定性检查之上采用此方法。


谢谢您的回答,但我询问的是用于测试服务器对GraphQL查询响应的自动化工具。 - Eden G.

0

-2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接