Spring集成:与嵌入式Broker的自动化集成测试?

时间:2018-07-16 12:05:48

标签: spring tdd spring-integration activemq mqtt

是否有可能在内存中启动一个代理,该代理可用于使用Spring Integration MQTT执行自动化测试用例? 我已经尝试过使用ActiveMQ实现此功能(在https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-messaging.html之后),但是以某种方式没有成功,也许有人有一个简短的示例?

1 个答案:

答案 0 :(得分:1)

为这种协议提供一些嵌入式代理不是Spring Integration(Spring Boot)的责任。如果有的话,我们可以考虑对该问题实施自动配置,类似于对嵌入式RDBMS,JMS和MongoDB所做的配置。您确实需要咨询ActiveMQ documentation

看起来我们可以在测试类中这样做:

private static BrokerService activeMQBroker;

...

@BeforeClass
public static void setup() throws Exception {
        activeMQBroker = new BrokerService();
        activeMQBroker.addConnector("mqtt://localhost:1883");
        activeMQBroker.setPersistent(false);
        activeMQBroker.setUseJmx(false);
        activeMQBroker.start();
}

我没有尝试过,但这正是我针对STOMP进行测试的目的。