如何使用 JMS 进行单元测试?这是事实上的吗?
我用谷歌搜索了一些东西 - JMS 的单元测试:http ://activemq.apache.org/how-to-unit-test-jms-code.html - jmsTemplate:activemq.apache.org/jmstemplate-gotchas.html - mockRunner:mockrunner .sourceforge.net/
你对我有什么好的经验和建议吗?
如何使用 JMS 进行单元测试?这是事实上的吗?
我用谷歌搜索了一些东西 - JMS 的单元测试:http ://activemq.apache.org/how-to-unit-test-jms-code.html - jmsTemplate:activemq.apache.org/jmstemplate-gotchas.html - mockRunner:mockrunner .sourceforge.net/
你对我有什么好的经验和建议吗?
根据我的经验(在尝试做同样的事情之后),当您使用 JMS 时,您正在做类似的事情
1) 获取 JMS 消息 2) 从消息中提取对象 3) 用对象做某事
从这个角度来看,我建议你对#3 进行单元测试,但不要打扰单元测试#1 或#2——不要测试框架——专注于测试你的代码。我认为(单元)测试您的基础设施(类似 EJB 基础设施等)没有什么好处。这样的事情最好留给集成/系统测试。
对于简单的集成测试,您可以在嵌入式模式下运行 ActiveMQ 代理。使用 Maven,这可以自动化,因此您甚至不必下载和安装 ActiveMQ 消息代理。
我正在寻找我曾经用 JMock 做过的同样的事情,用它 ypu 可以测试消息创建并结合 hamcrest 你可以实现好东西。