Jest 是一个流行的 JavaScript 测试框架,它是由 Facebook 开发并维护的。它支持测试 React 组件、Node.js 应用程序和 RESTful API 等。在本篇文章中,我们将聚焦于如何使用 Jest 测试框架来测试 RESTful API 的整个过程。
一、设置项目
首先,我们需要创建一个新项目并安装 Jest 和 supertest 依赖项。 Jest 用于编写测试脚本,而 supertest 则用于发出 HTTP 请求。我们还需要创建一个对 RESTful API 进行请求的实例。
mkdir jest-rest-api cd jest-rest-api npm i --save-dev jest supertest
在 src 目录下创建一个 server.js 文件,并使用 Express 创建一个简单的 RESTful API。
-- -------------------- ---- ------- ----- ------- - ------------------ ----- --- - --------- --------------------- ----- ---- -- - ---------- - --- -- ------ ------------ --------- ------- --------- -- ------ -- - --- -- ------ ----------- ------- ------ -- - --- -- ------ --------- ----- ------- ------ --------- - -- -- ----- ------ - ---------------- -- -- - ------------------- -- ------- -- ----------------------- -- -------------- - ------
二、编写单元测试
现在,我们将使用 Jest 编写 RESTful API 的单元测试。在项目的根目录下创建一个 tests 目录,用于放置测试脚本。在 tests 目录下创建一个 book.test.js 文件,并引入 supertest 模块和 server.js 文件。
const request = require('supertest') const server = require('../src/server')
接下来,我们开始编写单元测试代码。我们可以使用 Jest 提供的 test 函数来定义测试用例。
-- -------------------- ---- ------- ------------- ------------ -- -- - ---------- ------ -- ----- -- ------- -- -- - ------ --------------------------------- ------------ --------- -- - -------------------------------------------- ------------------------------------------ -- -- --
在上面的测试脚本中,我们使用 Jest 的 describe 函数来定义测试用例的名称。我们使用 it 函数来定义测试用例。在测试用例中,我们使用 supertest 发起 HTTP 请求来获取书籍列表。然后我们使用 expect 函数来检查响应是否符合要求。
三、运行单元测试
保存测试脚本后,我们可以运行 Jest 来执行它们。在 package.json 文件中添加以下命令:
"scripts": { "test": "jest" }
现在,我们可以使用 npm test 命令来运行测试脚本了。
npm test
当我们运行 npm test 命令时,Jest 将按照 tests 目录下的测试脚本进行测试。
从上面的结果可以看到,我们的单元测试已经通过了。
四、结论
通过这篇文章,我们学习了如何使用 Jest 测试框架测试 RESTful API。我们通过使用 supertest 发出 HTTP 请求来获取数据,并使用 expect 函数来检查响应是否符合我们的要求。现在,我们可以使用 Jest 来测试我们的 RESTful API,以确保它们符合预期。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/66eec8916fbf96019729f9bd