Node.js 面试题
目录

请解释如何使用 Supertest 或 Chai HTTP 等库编写 API 测试?

· 约 3 分钟读完 · 第 223 / 377 章

推荐答案

本题详细解读

1. 安装依赖

首先,你需要安装 supertest 和 jest(或其他测试框架)来编写和运行测试。

2. 引入依赖

在测试文件中,引入 supertest 和你的 Express 应用。

3. 编写测试用例

使用 describe 和 it 来组织你的测试用例。describe 用于分组,it 用于定义单个测试用例。

4. 运行测试

使用 jest 或其他测试框架来运行测试。

5. 解释代码

  • request(app):创建一个 supertest 请求对象,传入你的 Express 应用。
  • .get('/api/users'):发送一个 GET 请求到 /api/users 路由。
  • .expect(200):断言响应状态码为 200。
  • expect(res.body).toBeInstanceOf(Array):断言响应体是一个数组。
  • expect(res.body.length).toBeGreaterThan(0):断言数组长度大于 0。

6. 其他断言

你可以使用 supertest 提供的其他断言方法来验证响应头、响应体等。

7. 异步测试

由于 HTTP 请求是异步的,测试用例需要使用 async/await 来处理异步操作。