12

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

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

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

4

3 回答 3

12

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

1) 获取 JMS 消息 2) 从消息中提取对象 3) 用对象做某事

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

于 2010-05-22T20:32:01.030 回答
5

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

于 2010-09-05T10:11:28.090 回答
1

我正在寻找我曾经用 JMock 做过的同样的事情,用它 ypu 可以测试消息创建并结合 hamcrest 你可以实现好东西。

于 2010-05-22T20:21:39.007 回答