Spring rabbitmq 测试 - RabbitListenerTestHarness 没有找到任何侦听器

Spring rabbitmq testing - RabbitListenerTestHarness doesn't find any listener

我正在尝试为 spring rabbitmq 应用程序编写一些测试。

documentation 中,我找到了使用 RabbitListenerTestHarness 的示例。

我在 spring 中创建了一个测试,看起来像:

@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = MyMain.class)
public class MyClassTest {

    @Test
    public void myTest(){
        RabbitProperties.Listener listener = harness.getSpy("test_consumer2");
    }
}

在源代码中,我有一个为 rabbitmq 创建配置的 bean,它具有注释 @RabbitListenerTest(capture = true, spy = true).

此外,在源代码中我有以下消费者:

@Component

public class TestConsumerStub {

@RabbitListener(
        id = "test_consumer2",
        queues = "my_queue"
)
public void testHandler(){

}

出于某种原因,来自测试的线束 (RabbitListenerTestHarness harness) 对象未加载到消费者的上下文中。以下变量为空: RabbitProperties.Listener listener = harness.getSpy("test_consumer2");

知道我错过了什么吗?

调试 RabbitListenerTestHarness bean 后,我发现了问题所在。我将 spring-boot-starter-amqp 用于 spring 兔子,而对于 spring-rabbit-test 我正在明确编写版本,这与 spring-amqp 的版本不匹配。我将 spring-boot-starter-parent 版本更新为 1.4.0,它正在安装 spring-ampq 版本 1.6.1,这与我的 spring-rabbit-test.

版本相同