java - 有没有办法在 JUnit 测试中使用 JMS?

标签 java junit jboss jms cdi

我想使用 JMS 运行 JUnit 测试。是否可以让 JUnit 测试在应用服务器(如 JBoss 或 CDI 容器)之外使用 JMS?

最佳答案

只要发送和使用消息与 JMS 完全分离,您就可以模拟它。

例如:您可以有一个实现类似“IMyClassSender”接口(interface)的类。在实际代码(非 junit)中,这个类所做的只是将消息提交给 JMS。在 junit 中,使用一个接受输入的类来实现 IMyClassSender,如果提交给 JMS,它将传递给您的消费者类。

或者,如果您使用的是主动 mq:http://activemq.apache.org/how-to-unit-test-jms-code.html

关于java - 有没有办法在 JUnit 测试中使用 JMS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39762990/

相关文章:

java - Wildfly 8.0.0.Final - 定时器服务集群支持

java - 使用 SimapleDateFormat 解析时间

java - 在 Centos 而不是 Windows 上运行时,将 XML 转换为 JSON 会导致未知字符

java - 在循环java中使用字符串生成器和数组

java - java.awt.Component.getBounds() 可以为 null 吗?

java - 使用 PowerMockito 模拟静态方法

bash - 意外标记附近的语法错误 `echo'

java - 每个 http 请求都会调用 WildFly 登录模块

使用 Csrf 的 Spring Security 单元测试导致找不到 HttpServletResponse

java - 在单元测试期间创建自定义 @TestScoped Guice 范围