Опция
detectOpenHandles
используется для обнаружения открытых ручек, ее следует использовать обычно.Ошибка предупреждает о потенциально открытых дескрипторах:
Jest обнаружил следующие 4 открытых дескриптора, которые могут помешать Jest выйти из
Даже если дескрипторы будутпосле закрытия ошибка все равно будет отображаться.
Фактическая проблема с этим приложением состоит в том, что соединение с базой данных на самом деле не закрыто:
if (process.env.NODE_ENV === 'test') {
mongoose.connection.close(function () {
console.log('Mongoose connection disconnected');
});
}
По какой-то причине NODE_ENV
равно dev
несмотря на то, что в документации указано, что ожидается test
.
Немедленное закрытие соединения с базой данных при запуске приложения может вызвать проблемы в устройствах, которые фактически используют соединение с базой данных.Как объяснено в руководстве, подключение MongoDB должно быть в конце теста.Поскольку используется соединение по умолчанию с Mongoose, оно может быть:
afterAll(() => mongoose.disconnect());