集成测试rabbitmq消费者

时间:2018-01-23 16:10:04

标签: python unit-testing rabbitmq

我有一个使用pika和rabbitmq在python中编写的简单消费者。

使用者连接到rabbitmq并侦听队列。当消息到达时,它会转换消息并将其发布到另一个队列中。

在此提出:https://bitbucket.org/snippets/fbanke/8e7zbX

我想制作测试用例来测试使用者和队列之间的交互。例如,我想确保在消息消费时使用" basic_ack"调用函数让rabbitmq知道消息已被处理。

另一个测试用例是,如果连接断开,消费者会重新连接到rabbitmq。

等等。我想测试消费者和队列之间的交互,而不是消费者中的实际业务逻辑。

如果我嘲笑pika对象,它需要我100%理解API的行为方式,任何对API的误解都会导致错误的代码。通过测试的代码,但实际上并不起作用。

我宁愿使用实时队列测试消费者,并从测试中对其进行操作以查看消费者是否按预期行事。

例如 1.设置队列 2.启动消费者 3.将有效消息发布到队列 4.断言消息是由工作人员消费的

  1. 设置队列
  2. 启动消费者
  3. 杀死队列
  4. 断言工人按预期终止
  5. 是否有关于如何做到这一点的最佳做法?我可以在数据库中找到许多类似测试的例子,但不能找到队列。似乎我需要在一个单独的线程中启动使用者并使用它,但似乎没有基础设施来支持它。

0 个答案:

没有答案