在写前端应用的时候,我们经常需要对后端提供的 GraphQL API 进行测试。这时,一个好的测试工具可以大大降低我们测试的难度和时长。本文将为大家介绍一款基于 Node.js 的测试工具——common-gql-tester。
安装
在使用 common-gql-tester 之前,我们需要保证本地已经安装了 Node.js 以及 npm 包管理器。如果没有安装,可以前往官方网站 https://nodejs.org/ 下载并进行安装。
安装 common-gql-tester 非常简单,只需要在命令行中执行以下命令即可:
npm install common-gql-tester
使用
安装完成后,我们就可以愉快地使用 common-gql-tester 进行测试了。下面讲解一下如何使用。
初始化
首先,我们需要在测试文件中引入 common-gql-tester:
const { createTestClient } = require('common-gql-tester');
然后,我们通过 createTestClient 方法来创建一个测试客户端:
const client = createTestClient({ endpoint: 'http://localhost:4000/graphql' });
其中,endpoint 为你的 GraphQL API 的入口地址。如果你的 API 不在本地运行,需要填写对应的地址。
发送请求并断言
测试客户端创建完成后,我们就可以使用它来进行请求和断言了。
以查询用户为例,如果我们想测试查询用户的接口,可以这样写:
-- -------------------- ---- ------- ----- ---------- - - ----- ------- - -------- -- - ---- --- - - -- ----- - ---- - - ----- ------------------------- --------------------------------------- -----------------------------------
首先,在测试文件中定义了一个 USER_QUERY,它表示查询用户的 GraphQL 语句。然后,我们使用测试客户端的 query 方法来发送这个请求,并将结果保存在 data 中。
最后,我们使用 chai 库的 expect 方法来断言返回的结果是否符合预期。比如上面的代码中,我们期望查询到的用户是名为 Tom,年龄为 18 岁的用户。如果测试结果不符合预期,expect 方法会抛出 AssertionError。
除了 query 方法,测试客户端还提供了 mutate 方法,用于发送变更请求(比如添加、修改和删除等操作)。使用方式类似。
示例代码
下面是一个完整的示例代码,它测试了一个查询用户的接口。
-- -------------------- ---- ------- ----- - ---------------- - - ----------------------------- ----- - ------ - - ---------------- -- ------- ------- ---- ----- ---------- - - ----- ------- - -------- -- - ---- --- - - -- -- ------- ----- ------ - ------------------ --------- ------------------------------- --- -- --------- ---------- ------ - ------ ----- -- -- - ----- - ---- - - ----- ------------------------- --------------------------------------- ----------------------------------- ---
总结
通过本文的介绍,相信大家已经了解了 common-gql-tester 的基本使用方法。它可以帮助我们快速进行 GraphQL API 的测试,并且在测试失败时提供了友好的 AssertionError。如果你还没有使用过 GraphQL 的测试工具,建议你尝试一下 common-gql-tester。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/80272