小编raf*_*ara的帖子

NodeJS 单元测试 RabbitMQ / Amqplib

我正在尝试为我的项目开发测试,我有一个连接到rabbitmq并消耗队列的文件,但我在测试它时遇到了问题

const amqp = require('amqplib/callback_api');

const rabbitConsumer = (io) => {
  setTimeout(() => {
    amqp.connect('amqp://rabbitmq', (error0, connection) => {
      if (error0) {
        throw error0;
      }
      connection.createChannel((error1, channel) => {
        if (error1) {
          throw error1;
        }
        const queue = 'message';

        channel.assertQueue(queue, {
          durable: false,
        });

        console.log(' [*] Waiting for message', queue);

        channel.consume(
          queue,
          (data) => {
            console.log(' [x] Received data:', data.content.toString('utf-8'));
            io.emit('sendMessage', data.content.toString('utf-8'));
          },
          {
            noAck: true,
          }
        );
      });
    });
  }, 10000);
};

module.exports = rabbitConsumer;
Run Code Online (Sandbox Code Playgroud)

可以测试这个文件吗?我如何使用 JEST 或任何其他库来做到这一点?

tdd unit-testing rabbitmq node.js ts-jest

0
推荐指数
1
解决办法
4610
查看次数

标签 统计

node.js ×1

rabbitmq ×1

tdd ×1

ts-jest ×1

unit-testing ×1