配置文件特定的 application.properties 在单元测试期间未应用
Posted
技术标签:
【中文标题】配置文件特定的 application.properties 在单元测试期间未应用【英文标题】:Profile Specific application.properties Not Applied During Unit Test 【发布时间】:2018-09-21 18:27:39 【问题描述】:我正在编写集成测试,我想使用 Spring 配置文件为每个环境配置属性。但是,我在 src/test/resources中找到了配置文件特定的应用程序属性(例如 application-dev.yml、application-prod.yml) > 目录的激活方式与它们在 src/main/resources 中的方式不同。使用-Dspring.profiles.active=prod
运行测试似乎没有效果。是否可以从命令行激活配置文件进行测试?
注意:@ActiveProfiles
还不够,因为我想针对多个环境运行相同的测试。
【问题讨论】:
【参考方案1】:我不知道您是否从工作区复制了文件名,但“applicaiton-prod.yml”中有错字。这可能是原因。
【讨论】:
谢谢,但我项目中的文件拼写正确。 在没有看到项目设置的情况下做不了太多事情。也许来自***.com/questions/39690094 的答案会有所帮助。【参考方案2】:我找到了 similar issue reported in GitHub 并且 solution 适用于我的问题。 JVM 系统属性spring.profiles.active
没有在 Gradle 中获得。所以我修改了我的任务如下
integrationTest
systemProperties = System.properties
【讨论】:
以上是关于配置文件特定的 application.properties 在单元测试期间未应用的主要内容,如果未能解决你的问题,请参考以下文章