使用 Jest 进行 Express 应用测试

阅读时长 5 分钟读完

在前端开发中,测试是非常重要的一环。在构建一个应用程序的过程中,我们经常需要确保代码在各种条件下都能正确运行。Jest 是一个流行的 JavaScript 测试框架,广泛应用于前端项目中。Jest 支持多种测试类型并提供易于理解的报告,使开发人员能够快速测试并声明其代码的正确性。

本文将介绍如何在 Express 应用程序中使用 Jest 进行单元测试。我们将指导您完成使用 Jest 进行测试的完整过程,并提供示例代码以帮助您开始测试。

安装 Jest

使用 Jest 进行测试之前,要确保已安装 Node.js 和 npm 包管理器。在安装 Jest 之前,请确保您的项目中已正确配置 package.json 文件和 npm。

您可以使用以下命令在项目中安装 Jest:

如果要避免在每次运行 Jest 时输入 “npm test” 命令,则可以在 package.json 文件中设置 Jest 运行器。在 package.json 文件中添加以下代码:

现在您可以使用 “npm test” 命令运行 Jest 脚本。

编写测试代码

首先,我们需要编写一个测试脚本。我们将在 Express 应用程序上编写两个测试用例。第一个测试用例将测试我们的 Express 应用程序是否能够正确监听 HTTP 接口,第二个测试用例将测试我们的应用程序是否能够正确响应 HTTP 请求。

在项目中创建一个名为 “app.test.js” 的文件,添加以下内容:

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

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

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

在这个脚本中,我们首先导入了 Supertest 和 app 常量。Supertest 是一个工具类库,用来发送 HTTP 请求并测试响应。然后,我们使用 Jest 全局函数 “describe()” 来定义测试用例的“作用域”。我们有两个作用域,一个用于测试 HTTP GET 请求,另一个用于测试 HTTP POST 请求。在每个作用域中我们使用 Jest 全局函数 “test()” 来定义要执行的每个测试用例。在执行测试用例期间,我们使用 expect() 断言评估响应是否正确。

编写应用程序代码

创建一个 app.js 文件,并添加以下代码:

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

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

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

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

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

这个应用程序非常简单。我们使用 Express 构建了一个基本应用程序,定义了两个路由,一个是 HTTP GET 路由(默认监听 80 端口),另一个是 HTTP POST 路由。在 POST 路由中,我们获取请求体中的 name 属性并使用字符串插值构建响应消息。

运行测试

最后,运行以下命令来运行 Jest 测试:

您应该看到类似以下输出:

如果您看到这些输出,恭喜您!您已成功地使用 Jest 进行了 Express 应用程序的单元测试。

总结

在本文中,我们介绍了如何使用 Jest 测试框架,开发了针对 Express 应用程序的两个基本单元测试用例,并提供了完整的测试代码示例。Jest 提供了您所需的基础设施和底层支持来执行各种测试类型,并通过易于阅读的报告使您的测试过程变得轻松简单。希望这篇文章能够帮助您开始使用 Jest 建立和执行您自己的测试用例。

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

纠错
反馈