在Express中间件中使用Jest测试next()
的方法如下:
npm install --save-dev jest supertest
next()
的调用。例如,创建一个名为app.js
的文件,并添加以下代码:const express = require('express');
const app = express();
app.use((req, res, next) => {
// 执行一些中间件逻辑
console.log('执行中间件逻辑');
next();
});
app.get('/', (req, res) => {
res.send('Hello World!');
});
module.exports = app;
app.test.js
的测试文件,并编写测试用例。例如,添加以下代码:const request = require('supertest');
const app = require('./app');
describe('测试中间件', () => {
test('调用next()', async () => {
const response = await request(app).get('/');
expect(response.statusCode).toBe(200);
expect(response.text).toBe('Hello World!');
});
});
在上面的代码中,我们使用supertest
库来发送HTTP请求并测试Express应用的响应。我们发送一个GET请求到根路径'/'
,并断言响应的状态码为200,响应的文本为'Hello World!'。
npx jest
Jest将运行测试用例,并输出测试结果。
这是一个简单的示例,展示了如何使用Jest在Express中间件中测试next()
。你可以根据实际需求编写更复杂的测试用例,并使用Jest的其他功能来进行断言和模拟。
领取专属 10元无门槛券
手把手带您无忧上云