【发布时间】:2017-09-15 03:07:39
【问题描述】:
您好,我不知道如何使用 Mocha 和 chai 框架连接到 rabbitmq。 我已经在本地安装了 rabbitmq 和 erlang,并尝试通过在本地启动服务器来连接到 rabbitmq。
我使用的代码如下:
var chai = require('chai');
var chaiHttp = require('chai-http');
var request = chai.request;
var should = chai.should();
var expect = chai.expect;
var assert = chai.assert;
var supertest = require('supertest');
var fs = require('fs');
var amqp = require('amqplib/callback_api');
//Plugin for HTTP, etc.
chai.use(chaiHttp);
process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = '0';
describe("Testing RabbitMQ : ", function () {
it("Send a message : ", function (done) {
amqp.connect('amqp://localhost:15672/', function (err, conn) {
conn.createChannel(function (err, ch) {
var q = 'hello';
ch.assertQueue(q, { durable: false });
// Note: on Node 6 Buffer.from(msg) should be used
ch.sendToQueue(q, new Buffer('Hello World!'));
console.log(" [x] Sent 'Hello World!'");
});
setTimeout(function () { conn.close(); process.exit(0) }, 500);
});
done();
});
it("Receive a message", function (done) {
amqp.connect('amqp://localhost:15672/', function (err, conn) {
conn.createChannel(function (err, ch) {
var q = 'hello';
ch.assertQueue(q, { durable: false });
console.log(" [*] Waiting for messages in %s. To exit press CTRL+C", q);
ch.consume(q, function (msg) {
console.log(" [x] Received %s", msg.content.toString());
}, { noAck: true });
});
});
done();
});
})
那么还有其他方法可以连接到 rabbitmq 并发布消息吗? 我已经尝试使用 amqp 库,任何连接到 rabbitmq 的示例代码都会有所帮助。
谁能让我了解如何连接到特定队列以发送消息,可以在其中发布消息。
任何帮助将不胜感激。谢谢。
【问题讨论】: