Тестирование экспресс-приложения с супер-тайм-аутом при удалении и установке тестовых маршрутов - PullRequest
0 голосов
/ 02 марта 2019

Я использую 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);

1 Ответ

0 голосов
/ 10 марта 2019

Проблема заключалась в том, что я не выполнял вызов, когда выполнил свой запрос, который оставил соединение открытым, а затем выдал тайм-аут, поскольку запрос не закрыт

test("DELETE /questions/:qID", done => {
    jest.setTimeout(10000);
    server
        // /questions/5c7899a24552624a5b9c7f35?_method=DELETE
        .delete(`/questions/${aQuestionId}`)
        .expect(200, done); <= call done
});

...