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

时间:2016-08-01 16:54:42

标签: spring rabbitmq spring-test spring-rabbitmq

我试图为spring rabbitmq应用程序编写一些测试。

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

我在春天创建了一个看起来像的测试:

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

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

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

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

@Component

公共类TestConsumerStub {

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

}

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

知道我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

在调试RabbitListenerTestHarness bean之后,我发现了哪个问题。我正在使用spring-boot-starter-amqp用于春兔和spring-rabbit-test我明确地编写了与spring-amqp版本不匹配的版本。我将spring-boot-starter-parent版本更新为1.4.0正在安装spring-ampq版本1.6.1,该版本与spring-rabbit-test的版本相同。