如何使用 Mocha 测试 GraphQL 应用

随着 GraphQL 在现代 web 应用中变得越来越普遍,我们希望确保我们的 GraphQL 应用的可靠性和正确性。Mocha 是一个流行的 JavaScript 测试框架,可以帮助我们测试我们的 GraphQL 应用。

在本文中,我们将介绍如何使用 Mocha 测试 GraphQL 应用。我们将从设置测试环境开始,然后编写测试用例并运行测试。

设置测试环境

首先,我们需要设置测试环境。我们将使用以下技术:

  • Node.js - 运行测试
  • Express - 创建服务器
  • GraphQL - 实现 GraphQL API
  • Mocha - 测试框架
  • Chai - 断言库

我们可以使用 npm 来安装这些依赖项:

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

接下来,我们需要编写我们的 GraphQL 模式和 resolvers。为了简单起见,我们将使用以下模式:

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

我们的解析器函数将返回一个字符串:“hello,world!”。在真实的应用场景中,可能会有更多的查询和解析器函数。

让我们编写我们的服务器和 GraphQL API:

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

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

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

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

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

现在我们可以启动服务器并尝试使用 GraphiQL 进行查询,验证我们的 API 是有效的。我们应该看到以下结果:

现在我们可以编写我们的测试用例。

编写测试用例

我们将创建一个名为 test.js 的文件并编写测试用例。我们将在测试文件中创建一个测试套件和几个测试用例。

我们首先需要导入我们的依赖项:

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

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

我们导入了我们的模式和根解析器。请注意,我们将模式和根解析器拆分为单独的文件。

然后,我们编写我们的测试用例。我们将编写两个测试用例:

  1. 测试我们的 API 是否工作正常。
  2. 测试我们的 hello 查询是否返回正确的响应。
----------------- --- ------- -- -- -
  ------------- ----- ------------ -- -- -
    ---------- ------ - -------- ---- -- --------- ----- -- -- -
      ----- ----- - --
        -----
      ---

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

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

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

第一个测试用例将检查我们的 API 是否可以正常响应请求。

第二个测试用例将测试我们的 hello 查询是否返回 hello, world! 的响应。

运行测试

现在我们可以运行我们的测试。我们可以使用以下命令来运行我们的测试:

--- ----

我们应该看到以下结果:

我们的测试用例已成功通过!

结论

在本文中,我们了解了如何使用 Mocha 测试我们的 GraphQL 应用。我们首先设置了我们的测试环境,然后编写了我们的测试用例,并最终运行了我们的测试。我们的测试套件包括测试我们的 API 是否正常工作以及测试我们的 hello 查询是否返回正确的响应。

使用 Mocha 测试 GraphQL 应用可以确保我们的应用足够可靠和正确。在实际的应用场景中,我们可以通过添加更多的测试用例来进一步强化我们的测试。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/6704b219d91dce0dc84fde43