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
.
版本相同
我正在尝试为 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
.