我正在使用带有RabbitMQ的Spring-AMQP库进行制作。我想写一些可行的测试"干净利落地#34;我正在考虑使用嵌入式代理并模拟响应。我知道我不能嵌入Rabbit,但是想知道Spring AMQP是否可以与Apollo或其他可以在JVM中工作的代理一起工作。
我没有发布和订阅,并且如果需要,可以使用特定于供应商的代码来设置队列。
谢谢!
答案 0 :(得分:0)
没有;虽然有一般的抽象(在spring-amqp
项目中),但目前只有RabbitMQ(spring-rabbit
)的具体实现。
由于AMQP是一种有线协议,因此您可以将Spring AMQP下的Rabbit客户端与其他代理一起使用,但前提是它(代理)支持相同的协议版本。 Apollo是AMQP 1.0,与RabbitMQ符合的版本完全不同(0-9-1)。
对于框架本身,我们使用Mockito
来模拟兔子amqp-client
。对于模拟太难的更复杂测试,以及集成测试,如果@Rule
上没有代理,我们使用JUnit BrokerRunning
(localhost
)来跳过测试