【发布时间】:2019-07-26 14:39:24
【问题描述】:
我有一个下面的代码 sn-p 来连接 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解决此问题。
【问题讨论】:
标签: javascript node.js rabbitmq jestjs