使用 Supertest 在 Node 中自定义 Express 服务器

Supertest 是一个流行的 Node.js 测试工具,它可以帮助我们在测试期间模拟 HTTP 请求。在前端开发中,我们经常需要测试我们的 API 是否能够正常运行,并且确保其响应正确。

本文将介绍如何使用 Supertest 在 Node.js 中自定义 Express 服务器进行 API 测试,并提供示例代码以帮助你更好地理解这个过程。

安装和配置

首先,你需要安装 Supertest 和 Express:

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

接下来,创建一个名为 server.js 的文件并添加以下内容:

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

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

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

在这里,我们使用了 Express 创建了一个简单的应用程序,并添加了一个路由处理程序。我们将在下面的示例中使用该应用程序进行测试。

编写测试

现在让我们编写一个测试脚本来测试我们的应用程序是否返回正确的响应。

在项目根目录下创建一个名为 test.js 的文件,并添加以下代码:

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

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

在这里,我们使用 Supertest 的 request 方法来创建一个 HTTP 请求并发送到我们的服务器。然后,我们使用 expect 方法来断言响应状态码是否为 200,并在测试结束时使用 done 回调函数来处理异步操作。

此外,我们使用了 Jest 的 expect 断言库来检查响应正文是否为 Hello World!

运行测试

现在,我们可以运行我们的测试了。在命令行中输入以下命令:

--- ----

如果一切正常,你将会看到类似如下的输出:

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

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

总结

本文介绍了如何使用 Supertest 在 Node.js 中自定义 Express 服务器进行 API 测试,并提供了相关示例代码。在前端开发中,API 测试是一个非常重要的部分,它可以帮助我们确保我们的应用程序能够正确地响应用户请求。通过使用 Supertest 和 Express,我们可以轻松地编写和运行这些测试,并确保我们的应用程序能够稳定运行。

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