Я пытаюсь настроить тестирование для различных маршрутов на моем сервере Express, которые требуют подключения к моей базе данных MongoDB.
Я не уверен, как структурировать файл Jest, чтобы разрешить его тестирование. В моем обычном файле индекса. js я импортирую приложение и запускаю app.listen
в вызове connect .then
, например:
const connect = require("../dbs/mongodb/connect");
connect()
.then(_ => {
app.listen(process.env.PORT, _ => logger.info('this is running')
})
.catch(_ => logger.error('The app could not connect.');
Я попытался запустить ту же настройку в моем тесте. js файлов, но он не работает.
Например:
const connect = require("../dbs/mongodb/connect");
const request = require("supertest");
const runTests = () => {
describe("Test the home page", () => {
test("It should give a 200 response.", async () => {
let res = await request(app).get("/");
expect(res.statusCode).toBe(200);
});
});
};
connect()
.then(_ => app.listen(process.env.PORT))
.then(runTests)
.catch(err => {
console.error(`Could not connect to mongodb`, err);
});
Как можно дождаться подключения к MongoDB перед запуском моих тестов