jmslistener事务性junit回滚

时间:2019-10-22 18:05:11

标签: spring-boot junit spring-jms spring-test

我看到了多个示例,这些示例演示了如何测试jms-listener,但是我真正想要的是测试一些负面的测试案例,例如,

  1. 测试是否有回退jms事务是否在处理消息时出错
  2. 测试jms侦听器是否处理/引发异常

下面是一些示例,它们首先显示出正面的测试用例,

How to wait for @JMSListener annotated method to complete in JUnit

Writing tests to verify received msg in jms listener (Spring-Boot)

1 个答案:

答案 0 :(得分:1)

使用肯定的测试技术之一来验证侦听器是否确实收到了消息。

然后我们只需JmsTemplate.receive()来验证邮件是否已回滚到队列中。

或者,如果将您配置为在尝试多次传递后将有毒消息发送到DLQ,则可以在测试用例中简单地从DLQ接收。