我正在使用Spring库和RabbitMQ进行生产。我想编写一些“干净”的测试,并且我正在考虑使用嵌入式代理并模拟响应。我知道我不能嵌入兔子,但我想知道Spring是否会与阿波罗或者在JVM中工作的另一个代理一起工作。
我不介意只发布和订阅,如果需要的话可以使用特定于供应商的代码来设置队列。
谢谢!
发布于 2014-12-02 21:18:41
否;虽然有一个通用的抽象(在spring-amqp项目中),但目前只有一个RabbitMQ (spring-rabbit)的具体实现。
因为AMQP是一种有线协议,所以您可以使用Spring下面的兔子客户机和其他代理,但前提是它( broker )支持相同的协议版本。阿波罗是AMQP1.0,与RabbitMQ所遵循的版本(0-9-1)完全不同.
对于框架本身,我们在可能的地方使用Mockito来模拟兔子amqp-client。对于更复杂的测试,在模拟太难,对于集成测试,我们使用一个JUnit @Rule (BrokerRunning)来跳过测试,如果localhost上没有代理。
https://stackoverflow.com/questions/27256985
复制相似问题