GraphQL API - 任何用于测试它的自动化工具?
GraphQL API - any automation tool for testing it?
我想测试 GraphQL API。
现在,我正在使用 GraphiQL,但我正在寻找任何自动化工具......
好像SOAPUI不支持GraphQL测试
有什么想法吗?
谢谢。
您具体要测试什么?
我们在每个构建中 运行 进行了许多自动完整性检查测试:
架构是否有效(根据 graphql-js
)?如果您的实施允许例如,这可能很容易搞砸。同一类型名称的多个定义,或任何其他数量的细微错误。
这是一个破坏性的架构更改吗?如果是这样,请中断构建,除非有特定的 git 提交消息确认并接受它。使用 graphql-js
这相当容易 - 运行 针对当前生产的内省查询,运行 针对当前构建,并使用内置的 findBreakingChanges
函数。
请注意,graphql-js
测试并不意味着您的服务器必须用 JS 编写 - 我们的服务器是使用 ocaml-graphql-server 用 ReasonML 编写的,然后在构建时我们使用节点测试套件来像其他客户一样点击它。
最后,除此之外,我们还有一些 运行 queries/mutations 用于端到端 API 服务器测试的测试。总的来说,到目前为止,这对回归非常稳健。
请记住,您可以简单地使用任何 http 客户端访问您的 GraphQL 服务器,在您的测试套件中 没有 具有 GraphQL 意识。我会在上面提到的健全性检查之上推荐这条路线。
你基本上有几个我见过的选项:
Apollo's GraphQL Platform。它为您提供了对个人解析器的全面遥测,并且可以与 VS Code 集成,让您的开发人员实时了解他们的查询有多昂贵。不过你会为此付出代价的。
自己写。对于足够简单的用例,它可能有意义,但如果您正在寻找丰富的功能集,购买而不是构建可能更有意义。
我使用的是 SoapUI 5.4.0(社区版),测试 GraphQL 请求没有问题。
将它们视为 Rest 请求并添加 header,例如Content-Type: application/graphql
有关所有详细信息,请参见图片。
空手道是唯一将 API test-automation、模拟和 performance-testing 组合到一个统一框架中的 open-source 工具。
对于自动化测试,有 https://github.com/ohler55/graphql-test-tool/gtt。它是用 go 编写的,但作为一个独立的应用程序,它可以与任何 GraphQL 服务器一起使用。我们将它用于单元测试和 CI.
我想测试 GraphQL API。 现在,我正在使用 GraphiQL,但我正在寻找任何自动化工具...... 好像SOAPUI不支持GraphQL测试
有什么想法吗?
谢谢。
您具体要测试什么?
我们在每个构建中 运行 进行了许多自动完整性检查测试:
架构是否有效(根据
graphql-js
)?如果您的实施允许例如,这可能很容易搞砸。同一类型名称的多个定义,或任何其他数量的细微错误。这是一个破坏性的架构更改吗?如果是这样,请中断构建,除非有特定的 git 提交消息确认并接受它。使用
graphql-js
这相当容易 - 运行 针对当前生产的内省查询,运行 针对当前构建,并使用内置的findBreakingChanges
函数。
请注意,graphql-js
测试并不意味着您的服务器必须用 JS 编写 - 我们的服务器是使用 ocaml-graphql-server 用 ReasonML 编写的,然后在构建时我们使用节点测试套件来像其他客户一样点击它。
最后,除此之外,我们还有一些 运行 queries/mutations 用于端到端 API 服务器测试的测试。总的来说,到目前为止,这对回归非常稳健。
请记住,您可以简单地使用任何 http 客户端访问您的 GraphQL 服务器,在您的测试套件中 没有 具有 GraphQL 意识。我会在上面提到的健全性检查之上推荐这条路线。
你基本上有几个我见过的选项:
Apollo's GraphQL Platform。它为您提供了对个人解析器的全面遥测,并且可以与 VS Code 集成,让您的开发人员实时了解他们的查询有多昂贵。不过你会为此付出代价的。
自己写。对于足够简单的用例,它可能有意义,但如果您正在寻找丰富的功能集,购买而不是构建可能更有意义。
我使用的是 SoapUI 5.4.0(社区版),测试 GraphQL 请求没有问题。 将它们视为 Rest 请求并添加 header,例如Content-Type: application/graphql
有关所有详细信息,请参见图片。
空手道是唯一将 API test-automation、模拟和 performance-testing 组合到一个统一框架中的 open-source 工具。
对于自动化测试,有 https://github.com/ohler55/graphql-test-tool/gtt。它是用 go 编写的,但作为一个独立的应用程序,它可以与任何 GraphQL 服务器一起使用。我们将它用于单元测试和 CI.