npm 包 chai-graphql 使用教程

阅读时长 4 分钟读完

前言

chai-graphql是一个用于测试GraphQL API的npm包,它基于mocha和chai测试框架,提供了一些测试GraphQLAPI的有用工具。

本教程将通过examples说明如何使用chai-graphql

安装

在项目中使用npm或yarn安装

使用

示例

假设您有一个GraphQL API的终端节点:http://localhost:4000/graphql,它有一个query叫做getUser(id:ID!),这个query会从数据库中返回一个用户,需要验证返回的用户是否和预期一样

以下是一个使用chai-graphql的测试代码示例,以确保您返回的用户id是“user_123”:

-- -------------------- ---- -------
------ - ------ - ---- -------
------ - ------- - ---- ----------
------ ------ ---- ----------- -- ----------- ------
------ ----------- ---- --------------

------------------- -- -- -
  ----- ----- - -
    ----- -
      ----------- ----------- -
        --
      -
    -
  --

  ----------- ------- ------ -- -- -
    ------ --------------- -------------------- -- -
      -------- ----- ----------- ------------------
        -------- -
          --- ----------
        -
      ---
    ---
  ---
---

上述示例代码将执行GraphQL查询,并确保返回的数据与预期数据相同。使用chai-graphql,您可以将预期的响应与实际响应进行比较,这使得测试更加容易。

API

chai-graphql提供以下断言:

graphql(schema)

使用此断言对GraphQL查询进行断言:

graphqlError(regex)

使用此断言对GraphQL错误进行断言:

graphqlMutationError(regex, path?)

使用此断言对GraphQL错误进行断言,并指定错误路径,用于断言特定的错误:

-- -------------------- ---- -------
--------- -- -
  --------
    -------
    -
      -------- -
        -------------- ----------- ---- --- -
          --
        -
      -
    --
  --
-------------------------------------------- ----- --- -------- -------------- ------------------------

结论

我们已经学习了如何使用chai-graphql包来测试GraphQL API。chai-graphql提供了丰富的API和有用的断言,可以使您的GraphQL测试更加简单,快速和高效。

使用chai-graphql可以显着降低测试失败的风险,增强测试用例的可读性和可维护性,同时还可以使您更加自信地将API推向生产环境。

希望您能运用本教程所学的内容,有效地测试您的GraphQL API,并获得不断的提高!

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055bf981e8991b448d99ae

纠错
反馈