【发布时间】:2021-10-08 09:10:01
【问题描述】:
我运行 gradle 任务:
gradle test -DtestProfile=dockerTest
当我试图从应用程序中获取这个变量时:
System.getProperty("testProfile")
我得到空值。
如何在应用程序中正确获取虚拟机选项?
有些解释。
我有一些用于在不同环境中运行测试的配置文件。每个配置文件都有不同的属性,如下所示:
application-local.yml
application-test.yml
application-dockerTest.yml
...
每个环境都应根据其配置文件开始自己的测试。比,我写了解析器:
class TestActiveProfilesResolver : ActiveProfilesResolver {
override fun resolve(testClass: Class<*>): Array<String> =
System.getProperty("testProfile")
}
在这里使用它:
@ActiveProfiles(resolver = TestActiveProfilesResolver::class)
我想在 gradle 测试开始时发送“testProfile”变量,例如 VM 变量 -DtestProfile=dockerTest。
但是System.getProperty("testProfile") == null。
【问题讨论】:
标签: java gradle jvm-arguments