我想为下面的内容编写测试;
有一个叫听者state-info-1在src/main。
state-info-1
src/main
它会对收到的任何消息进行一些更改,并在activemq主题上发布新消息state-info-2。
state-info-2
我将构建一条虚拟消息并将其发布到activemq topic上state-info-1。
最后验证一下,关于主题的接收消息state-info-2是否与我预期的一样。
我的听众就像;
@JmsListener(destination = "state-info-1", containerFactory = "connFactory") public void receiveMessage(Message payload) { // Do Stuff and Publish to state-info-2 }
我可以为此编写测试吗?还是我必须以其他方式做到这一点?
另外,我看着这个:https : //github.com/spring-projects/spring-boot/blob/master/spring-boot- samples/spring-boot-sample-activemq/src/test/java/sample/activemq /SampleActiveMqTests.java
但这不是我期望的。
任何帮助或朝正确方向推动就足够了。
感谢您的时间。
@SpringBootApplication public class So42803627Application { public static void main(String[] args) { SpringApplication.run(So42803627Application.class, args); } @Autowired private JmsTemplate jmsTemplate; @JmsListener(destination = "foo") public void handle(String in) { this.jmsTemplate.convertAndSend("bar", in.toUpperCase()); } }
和
@RunWith(SpringRunner.class) @SpringBootTest public class So42803627ApplicationTests { @Autowired private JmsTemplate jmsTemplate; @Test public void test() { this.jmsTemplate.convertAndSend("foo", "Hello, world!"); this.jmsTemplate.setReceiveTimeout(10_000); assertThat(this.jmsTemplate.receiveAndConvert("bar")).isEqualTo("HELLO, WORLD!"); } }