Mocha 测试框架中如何测试 GraphQL API

阅读时长 5 分钟读完

Mocha 测试框架中如何测试 GraphQL API

前言

GraphQL 是一种用于 API 的查询语言,它可以更加高效灵活地描述数据需求,从而减少网络传输数据量,提高应用性能。但是,在使用 GraphQL API 的过程中,我们也需要考虑如何测试 GraphQL API 的有效性和可靠性,这就需要使用到一些测试框架了,其中 Mocha 测试框架是一个非常流行的选择。本文将介绍如何在 Mocha 测试框架中使用 supertest 库、chai 库和 graphql 库对 GraphQL API 进行测试。

一、安装及设置测试环境

  1. 安装 Mocha

在开始测试之前,需要安装 Mocha 测试框架,可以通过以下命令进行安装:

  1. 安装 supertest

supertest 是一个 node.js 的 http 测试框架,它可以模拟 HTTP 请求,从而方便进行测试。我们可以通过以下命令安装:

  1. 安装 chai

chai 是一个 BDD/TDD 风格的断言库,它提供了多种断言方式,可以使测试更加方便。我们可以通过以下命令进行安装:

  1. 安装 graphql

graphql 是一个用于构建 API 的库,它可以将查询和变换的逻辑从 API 的实现中分离出来。我们可以通过以下命令进行安装:

二、测试 GraphQL API

  1. 编写测试用例

在进行测试之前,需要先编写测试用例。下面是一个简单的测试用例,它测试了一个 GraphQL 查询:

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

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

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

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

上述测试用例中,我们首先引入了 supertest、chai 和 graphql 库,然后定义了一个测试用例,使用了 async 和 await 关键字进行异步测试。在测试用例中,我们定义了一个 GraphQL 查询字符串 query,并将其作为 graphql() 方法的参数,然后通过 expect() 方法断言结果,确保返回的数据为 ‘world’。

  1. 编写 GraphQL schema

在上述测试用例中,我们还需要定义 GraphQL schema。schema 可以将所有可查询的元素和类型定义清晰地列出来。我们通过定义 schema 来告诉测试框架 API 的结构和含义。下面是一个简单的 schema 示例:

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

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

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

在该示例中,我们首先引入了 graphql 相关的库,并定义了一个 queryType 对象,其中包含了一个名为 hello 的字段,它的类型为 GraphQLString,resolve 方法返回 ‘world’。最后,通过 new GraphQLSchema() 方法将 queryType 转化为 schema,并导出它。

三、运行测试用例

  1. 在命令行中运行测试

在编写好测试用例和 schema 之后,我们就可以在命令行中运行测试了。只需要在命令行中进入测试文件所在目录,输入以下命令:

Mocha 将自动查找测试文件并执行测试用例。如果测试通过,将显示一条绿色的 Successful 提示;否则将显示一条红色的 Failed 提示,指出是哪个断言失败了。

  1. 在 Webstorm 中运行测试

在 Webstorm 中运行测试有两种方式:一是在终端中输入 mocha,二是在 Webstorm IDE 的 Run => Edit Configurations 中添加 mocha 配置后,点击运行按钮。

添加 mocha 配置:

1)在 Webstorm 的界面上点击 Run => Edit Configurations;

2)在弹出的窗口中点击左上角加号,选择 Mocha;

3)在 Configuration 页中,选择测试文件和参数,如下图所示:

4)点击 OK,再次点击运行按钮,即可运行测试。

总结

本文介绍了在 Mocha 测试框架中测试 GraphQL API 的步骤。首先,我们通过安装 supertest、chai 和 graphql 库设置了测试环境;然后,编写了测试用例和 GraphQL schema;最后,运行测试用例,并在控制台或 Webstorm 中查看测试结果。本文的内容详细、深入、有指导意义,可以帮助读者快速掌握在 Mocha 测试框架中测试 GraphQL API 的方法。

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

纠错
反馈