在 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
那么它仍然加载加载配置。
所以我运行集成 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
那么它仍然加载加载配置。