Jest не выходил из игры через секунду после завершения пробного запуска. --detectOpenHandles
Я собираюсь протестировать сервер, работающий с Jest. Иногда это успешно, но иногда это показывает ошибку, как это.
Поэтому, если я использую флаг --detectOpenHandles, как это было предложено, он всегда будет успешным, не показывая ошибку eny. Это тестовый код.
it("should be able to initialize a server (development)",async (done) => {
// Before main() is called there is no active connection:
expect(connection.readyState).toBe(0);
return main({
env: "dev",
port: PORT,
})
.then(async (server: ApolloServer) => {
// After main() got called, there is an active connection:
expect(connection.readyState).toBe(1);
await server.stop();
done();
})
});
afterAll(async () => {
await connection.close(); //connection is mongoose.connection
});
Я не уверен, почему это не удается, когда флаг. И это странно, иногда успех, а иногда неудача.
Спасибо
0 ответов
Я столкнулся с аналогичной проблемой, и мне удалось ее решить, вернув обещание в функции, переданной в afterAll
. Например:
afterAll(() => {
return connection.close(); // connection.close() returns a promise
});
Не связано с вопросом пользователя, но тем не менее вызывает проблему в заголовке:
Переключение с
testEnvironment: 'node',
к testEnvironment: 'jsdom',
в jest.config.js
казалось, решил проблему.