使用JMS(ActiveMQ)进行单元测试

Lar*_*Cai 12 unit-testing activemq-classic jms mocking jmstemplate

如何使用JMS进行单元测试?这是事实吗?

我google了一些东西 - JMS的单元测试:http ://activemq.apache.org/how-to-unit-test-jms-code.html - jmsTemplate:activemq.apache.org/jmstemplate-gotchas.html - mockRunner:mockrunner .sourceforge.net /

你对我有什么好的经验和建议吗?

kel*_*yfj 11

根据我的经验(在尝试做同样的事情之后)当你使用JMS时,你正在做类似的事情

1)获取JMS消息2)从消息中提取对象3)使用Object执行某些操作

从这个角度来看,我建议您进行单元测试#3但不要打扰单元测试#1或#2 - 不要测试框架 - 专注于测试代码.我认为(单元)测试您的基础架构(类似EJB基础架构等)几乎没有什么好处.这样的事情最好留给集成/系统测试.


mjn*_*mjn 5

对于简单的集成测试,您可以在嵌入模式下运行ActiveMQ代理.使用Maven,这可以自动执行,因此您甚至不必下载和安装ActiveMQ消息代理.