gradle测试任务在某些环境中未设置systemProperty

时间:2019-01-09 16:17:31

标签: gradle junit spock

我的测试任务中有以下配置:

apply plugin: 'java'
...
    test {
        //Set system property for tests based on project gradle property
        systemProperty "DEVICE_ID", rootProject.getProperty("DEVICE_ID")
    }

我按如下方式调用任务:

./gradlew -PDEVICE_ID=someid test

我可以看到rootProject.getProperty(“ DEVICE_ID”)确实设置为someid(很好)。

但是,在测试程序中,如果我获得DEVICE_ID系统属性,则在某些环境(不好)中将其设置为null,并且在某些环境中可以使用。我看不到工作环境与不工作环境之间的区别(相同的gradle版本,git repo中的相同代码)。

我看到了thisthis链接,并认为它可能与我的问题有关,但不确定如何解决。请注意,我没有使用JunitPlatform插件,而是在我的测试中使用了Spock / Groovy,而不是junit,尽管我相信它使用与junit相同的测试运行程序。

0 个答案:

没有答案
相关问题