在DELETE上使用Supertest TimeOut测试Express应用并放置测试路线



我正在使用supertest和jest来编写我的测试。但是,删除并特别放置路线无法正常工作,它一直在等到它。我的猜测告诉我,这条路线没有被击中,因为我试图在路线中记录某些东西,但事实并非如此。因此,我必须对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
});

最新更新