3

我有一个使用rabbitmq编写的python项目,我在想如何为它编写单元测试/什么是最佳实践。如何用rabbitmq在python中编写单元/集成测试?

由于代码需要的RabbitMQ服务器在后台运行这些都是三个选项,我想出了:

  1. 写一些检查,检查在开始测试套件的兔子是否运行和失败,如果它不 - 因为它需要的RabbitMQ的人工起动不理想
  2. 自动启动一个进程在每个测试设置的RabbitMQ并杀死它拆解 - 由于某种原因,这造成连接错误
  3. 模拟出rabbitmq - 有没有人对此有任何建议或提示?

谢谢!

Jon

回答

1

Defenitly我更喜欢把rabbitmq离开单元测试。

我正在重写一个假上层类以避免Rabbit mq依赖,它给了我很少的接口来调用发布者方法或调用一个接收方检查方法。

class FakePublisher(Publisher) 
    def __init__(self): 
     pass 
    def call_consumer(self, msg): 
     self.consumer(msg) 

class test(unittest.TestCase): 
    def test_foo(self): 
     publisher = FakePublisher() 
     ret = publisher.call_consumer(msg("foo")) 
     self.assertEqual(ret, True)