我正在尝试使用Jest和Supertest为我的环回3 rest API服务器构建测试。测试正在运行,但是Jest没有正常退出。
这是我的测试脚本 branch.test.js :
const app = require('../server/server');
const request = require('supertest');
describe('Test the root path', () => {
afterAll(done => {
app.close(done);
});
test('It should response the GET method', async () => {
const response = await request(app).get('/api/branches');
expect(response.statusCode).toBe(200);
});
})
和 package.json 进行测试设置
{
"scripts": {
"lint": "eslint .",
"start": "node .",
"posttest": "npm run lint",
"test": "jest --detectOpenHandles"
},
"jest": {
"testEnvironment": "node"
}
}
每次我运行npm run test时,日志总是返回:
Jest检测到以下1个打开的句柄可能会保持Jest 退出:
●TCPWRAP
11 |
12 | test('它应该响应GET方法',async()=> {
13 | 常量响应=等待请求(app).get('/ api / branches');
14 | Expect(response.statusCode).toBe(200);
15 | });
16 | })
在Test.Object..Test.serverAddress (node_modules / supertest / lib / test.js:59:33)
在新测试中(node_modules / supertest / lib / test.js:36:12)
在Object.obj。(匿名函数)[获取] (node_modules / supertest / index.js:25:14)
在Object.get(test / unit / branch.test.js:13:45)
日志指向获取功能。论坛中的人使用jest --forceExit,但这不是我想要的方式。这个问题有解决方案吗?感谢您的答复