在删除和放置测试路由时使用超级测试超时测试 Express 应用程序
Testing express app with supertest timesout on delete and put test routes
我正在使用 supertest 和 jest 来编写我的测试。但是 delete 和 put 路由尤其不能正常工作,它一直在等待直到超时。
我的推测告诉我路线没有被击中,因为我试图在路线中记录一些东西但没有。所以,我一定是在 supertest
上做错了什么。另外,我正在使用 methodoverride
.
// test.js
const request = require("supertest");
const app = require("../app");
let server = request(app);
const aQuestionId = "5c78b8906c20cc5d22360a87";
test("DELETE /questions/:qID", done => {
jest.setTimeout(10000);
server
// /questions/5c7899a24552624a5b9c7f35?_method=DELETE
.delete(`/questions/${aQuestionId}`)
.expect(200);
});
// Delete route
// DELETE /questions/:qID
router.delete("/questions/:qID", question.deleteQuestion);
问题是,当我完成我的请求时,我没有调用完成
这使连接保持打开状态,然后开玩笑超时,因为请求未关闭
test("DELETE /questions/:qID", done => {
jest.setTimeout(10000);
server
// /questions/5c7899a24552624a5b9c7f35?_method=DELETE
.delete(`/questions/${aQuestionId}`)
.expect(200, done); <= call done
});
我正在使用 supertest 和 jest 来编写我的测试。但是 delete 和 put 路由尤其不能正常工作,它一直在等待直到超时。
我的推测告诉我路线没有被击中,因为我试图在路线中记录一些东西但没有。所以,我一定是在 supertest
上做错了什么。另外,我正在使用 methodoverride
.
// test.js
const request = require("supertest");
const app = require("../app");
let server = request(app);
const aQuestionId = "5c78b8906c20cc5d22360a87";
test("DELETE /questions/:qID", done => {
jest.setTimeout(10000);
server
// /questions/5c7899a24552624a5b9c7f35?_method=DELETE
.delete(`/questions/${aQuestionId}`)
.expect(200);
});
// Delete route
// DELETE /questions/:qID
router.delete("/questions/:qID", question.deleteQuestion);
问题是,当我完成我的请求时,我没有调用完成 这使连接保持打开状态,然后开玩笑超时,因为请求未关闭
test("DELETE /questions/:qID", done => {
jest.setTimeout(10000);
server
// /questions/5c7899a24552624a5b9c7f35?_method=DELETE
.delete(`/questions/${aQuestionId}`)
.expect(200, done); <= call done
});