本文将会介绍如何使用 Jest 测试 Express.js 应用程序。Jest 是一个广泛使用的 JavaScript 测试框架,具有易用性和灵活性。Express.js 是一个非常流行的 Node.js 的 Web 框架,用于构建 Web 应用程序和 API。在本文中,我们将学习如何使用 Jest 来自动化测试 Express.js 的路由和中间件的功能。
准备工作
在开始之前,请确保您已经在机器上安装了 Node.js 和 Express.js。
第一步是创建新的 Node.js 应用程序。您可以在命令行中使用以下命令:
npm init -y
接下来,安装以下依赖:
npm install --save-dev express jest supertest
在这里,我们使用 Jest 作为我们的测试框架,使用 Supertest 作为测试 HTTP 请求的库。
编写测试
写测试是使用 Jest 进行测试的第一步。在本例中,我们将测试一个简单的 API,该 API 返回“ Hello, World!”。我们将编写一个测试用例来测试该 API 返回的内容是否正确。在创建测试文件时,我们应首先创建一个新目录__tests__
,然后将测试文件放在该目录下以便 Jest 能够发现这些测试。
在下面的示例中,我们将测试一个名为“hello”路由的 API。为此,请创建一个名为“app.js”的文件,并在其中添加以下代码:
const express = require('express'); const app = express(); app.get('/hello', (req, res) => { res.send('Hello, World!'); }); module.exports = app;
在你的 __tests__
目录中创建一个名为 app.test.js
的文件,然后编写以下测试用例代码:
-- -------------------- ---- ------- ----- ------- - --------------------- ----- --- - ------------------ -------------- ------ ------- -- -- - -------- ------ -------- ---- ------ -------- ----- -- -- - ----- -------- - ----- --------------------------- -------------------------------------- ---------------------------------- --------- --- ---
以上测试用例使用 Supertest 发送 GET 请求到 /hello
路由,验证响应的状态代码和文本是否符合预期。
运行测试
您可以在命令行中使用以下命令运行测试:
npm test
这将运行所有测试用例。如果测试通过,将出现绿色的“ PASS”文本。否则,将出现红色的“ FAIL”文本,并指示您失败的测试。
总结
在本文中,我们学习了如何使用 Jest 测试 Express.js 应用程序。我们编写了一个简单的测试用例,测试了一个简单的 API。您可以通过这个简单的例子来开始学习使用 Jest 测试 Express.js 应用程序,为您的应用程序编写更多的测试用例。
我们在这里提供一个完整的文件结构供参考:
node_modules/ __tests__/ app.test.js app.js package-lock.json package.json
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6480350b48841e9894fb2b98