首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不设置Spring配置文件的自定义任务中的分级systemProperty

不设置Spring配置文件的自定义任务中的分级systemProperty
EN

Stack Overflow用户
提问于 2021-06-28 13:16:08
回答 1查看 244关注 0票数 0

如果有一个名为"unit“的弹簧配置文件,我试图有选择地取消测试,该配置文件正在工作:

代码语言:javascript
复制
@DisabledIfEnvironmentVariable(named = "SPRING_PROFILES_ACTIVE", matches = "unit")

如果我运行SPRING_PROFILES_ACTIVE=unit ./gradlew clean test,它就能正常工作。我遇到的问题是,我不想把所有这些都写出来,我想要一个定制的分级任务,也称为“单元”。目前的情况如下:

代码语言:javascript
复制
task unit(type: Test) {
    useJUnitPlatform()
    systemProperty "SPRING_PROFILES_ACTIVE", "unit"
}

这会运行所有的测试,即使它们应该是禁用的。我尝试了useJUnitPlatform { sysProp... },我尝试了添加options { sysProp... },我尝试了使用doFirst,我尝试了在build.gradle和注释中将"SPRING_PROFILES_ACTIVE"切换到"spring.profiles.active",我尝试了systemProperties "SPRING_PROFILES_ACTIVE": "unit",但是这是行不通的。

我发现了很多StackOverflow问题,人们只是把systemProperties放在默认的测试任务中,但是我找不到任何带有自定义任务的问题。

我需要调用什么来获得传递spring配置文件系统属性的任务?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-28 13:33:39

@DisabledIfEnvironmentVariable注释要求设置环境变量。尝试在任务中设置环境变量而不是系统属性:

代码语言:javascript
复制
task unit(type: Test) {
    useJUnitPlatform()
    environment "SPRING_PROFILES_ACTIVE", "unit"
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68164041

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档