如果有一个名为"unit“的弹簧配置文件,我试图有选择地取消测试,该配置文件正在工作:
@DisabledIfEnvironmentVariable(named = "SPRING_PROFILES_ACTIVE", matches = "unit")如果我运行SPRING_PROFILES_ACTIVE=unit ./gradlew clean test,它就能正常工作。我遇到的问题是,我不想把所有这些都写出来,我想要一个定制的分级任务,也称为“单元”。目前的情况如下:
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配置文件系统属性的任务?
发布于 2021-06-28 13:33:39
@DisabledIfEnvironmentVariable注释要求设置环境变量。尝试在任务中设置环境变量而不是系统属性:
task unit(type: Test) {
useJUnitPlatform()
environment "SPRING_PROFILES_ACTIVE", "unit"
}https://stackoverflow.com/questions/68164041
复制相似问题