在 IntelliJ IDEA 中测试 运行 时 ActiveMQ 内存中代理未启动

ActiveMQ in-memory broker not starting when tests running in IntelliJ IDEA

所以我运行集成 test/spec 使用 ActiveMQ 内存代理的配置。

SomeSpec.groovy:

@SpringApplicationConfiguration(SomeApplication.class)
@WebIntegrationTest(randomPort = true)
class SomeSpec extends Specification {

application.properties

spring.activemq.in-memory=true
spring.activemq.pooled=false

内存代理启动,运行当我启动 gradle test 并且 在命令行与 gradle bootRun 一起使用时 运行 也很好。但是,当我在 IntelliJ 中 运行 而没有明确地 运行 gradle test 时,内存代理不会启动并且测试失败。

如何利用 IntelliJ 中的 test/spec 运行ning 功能,但仍能正确初始化内存队列?我知道使用 Grails 可以 运行 使用 JUnit 或 Grails。是否有与 Spring/SpringBoot 类似的东西,所以一切都可以正常启动。

可能是因为您的 config 文件没有在 project/out/production/config/ 位置刷新。

当你从 cmd 行 运行 时,它采用最新的 application.properties,所以一切都很好。

但是Idea采用已经编译的配置文件,如果它们没有在内部重建Idea那么它仍然加载加载配置。