1
我有一個發佈事件E1的類A. E1在由@RabbitListener
註釋的同一應用程序中由B類消耗。 B做一些事情,然後發佈C等消耗的事件E2(形成一個過程鏈)。以編程方式啓用和禁用某些@ RabbitListener的Spring?
我想要做的是兩兩件事:
- 我想測試在集成測試,但這樣做時,我想禁用
RabbitListener's
使整個過程的結果是E1正在發佈未執行。我只想斷言A會做它應該做的事情併發布E1。我設法通過設置spring.rabbitmq.listener.auto-startup=false
來解決這個問題。 - 我還想通過將E1發佈到RabbitMQ來進行集成測試中的B測試,以便我可以確信已正確配置B的
RabbitListerner
。但是,我不希望C被稱爲E2發佈的副作用。
我知道我可以用這個嘲笑,但最好我想測試真正的交易,使用實際的部件(包括髮送消息到實際的RabbitMQ實例,在我的情況下,在泊塢正在運行)可能會做。
我可以在Spring Boot中以很好的方式實現這個功能嗎?或者,它可能是建議使用@RabbitListenerTest
,確實使用模擬?