Я пытаюсь создать тест с использованием Jest и Supertest для моего сервера loopback 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 обнаружил следующую открытую ручку, потенциально сохраняющую Jest
с выхода:
● TCPWRAP
11 |
12 | test («Должен ответить на метод GET», async () => {
13 | const response = ожидание запроса (приложения) .get ('/ api / branch');
14 | ожидать (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)
журнал указывает на функцию get . Люди на форуме используют jest --forceExit, но это не так, как я хочу. Есть ли решения для этой проблемы? Спасибо за ответ