У меня есть фрагмент кода ниже для подключения RabbitMQ, он работает нормально, но в тестовом случае я получаю асинхронные операции ошибка.Я попытался использовать this.start();
, а также this.start().then
var amqplib = require('amqplib');
const { amqp: { uri: amqpURI } } = require('../config');
class Broker {
constructor(url) {
this.queue = 'user';
this.url = url;
//this.start(); Old
this.start().then(function (conn) {
console.log(conn);
});
}
start() {
return amqplib.connect(this.url).then((conn) => {
conn.on("close", () => {
this.conn = null;
return this.retryConnection();
});
return conn;
}).catch((error) => {
});
}
.....
}
Примечание. При комментировании this.start();
ошибка исчезает
Ошибка:
Jest не завершил свою работу через одну секунду после завершения тестового прогона.
Обычно это означает, что существуют асинхронные операции, которые не были остановлены в вашемтесты.Для устранения этой проблемы попробуйте запустить Jest с --detectOpenHandles
.