Jest 测试框架:如何测试 GraphQL 应用程序

阅读时长 5 分钟读完

GraphQL 是一项崭新的技术,可以帮助程序员更方便地处理数据请求和响应。但是,如何确保我们的 GraphQL 应用程序在一切情况下都能正常工作呢?在本文中,我们将介绍 Jest 测试框架,以及如何使用 Jest 来测试 GraphQL 应用程序。

Jest 简介

Jest 是一个由 Facebook 开发的 JavaScript 单元测试框架。它旨在提供一个无需配置的测试环境,可以集成到现有的应用程序中,并且可以使用基于 Jasmine 的断言语法。

Jest 还包括一个集成的测试运行器和快照测试功能,以及能与 Babel、webpack 等工具栈良好协作的全套测试工具。

测试 GraphQL 应用程序的常见问题

在测试 GraphQL 应用程序时,我们面临的主要问题是:

  • 应用程序中的查询语句和响应数据如何定位?
  • 应用程序如何处理错误?
  • 程序中的数据存储如何影响测试?

我们将在下面的示例中,直接演示如何使用 Jest 框架来解决这些问题。

如何安装 Jest 框架

为了使用 Jest 框架,需要先安装 Node.js。在 Node.js 安装完成后,打开终端并输入以下命令来安装 Jest:

Jest 测试 GraphQL 应用程序

让我们编写一个简单的 GraphQL 应用程序,写查询语句,并使用 Jest 测试该应用程序。

首先,需要在项目中安装以下包:

在项目根目录下创建一个名为 schema.js 的文件。该文件应该导出 GraphQLSchema 对象。

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

在代码中,我们创建一个名为 hello 的查询字段,并将其映射到函数 root.hello 中。函数返回 "Hello world!" 字符串。等下我们将使用 Jest 测试这段代码。

接下来,我们需要为 Jest 框架创建一个测试文件。在项目根目录下创建 tests 目录,并在其中创建名为 schema.test.js 的文件。在该文件中,我们使用 supertest 包来模拟服务器调用并测试查询是否能够收到正确的响应。

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

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

使用 Jest 运行测试。

在 Jest 运行测试完成之后,如果一切顺利,控制台应该输出以下内容:

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

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

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

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

结论

在本文中,我们介绍了 Jest 测试框架,以及如何使用 Jest 来解决在测试 GraphQL 应用程序时常见的问题。通过使用 Jest,我们可以轻松地测试 GraphQL 应用程序,并确保其在每个请求和响应中都能正常工作。

此外,我们了解了 Jest 的集成测试工具,这使得应用程序的测试变得更加方便。使用 Jest,我们可以为 GraphQL 应用程序创建准确、可靠的测试,并确保应用程序始终按照预期执行。

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

纠错
反馈