[英]Writing tests to verify received msg in jms listener (Spring-Boot)
我想為以下內容編寫測試;
src/main
有一個名為state-info-1
的偵聽器。
它對它獲取的任何消息進行一些更改,並在 activemq 主題state-info-2
上發布新消息。
我將構建一個虛擬消息並發布到 activemq 主題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!");
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.