debugTest中看不到test中设置的系统属性

时间:2014-06-11 20:01:00

标签: gradle

当我运行以下gradle脚本时:

apply plugin: 'java'

task debugTest(type: Test) {
    println systemProperties['PROP']
}

test {  
    systemProperties['PROP'] = 'true'   
}

$ gradle debugTest

我希望它打印为true但它会打印为null。

有人可以解释原因。

1 个答案:

答案 0 :(得分:0)

您只为名为test的任务设置系统属性,而不是为名为debugTest的任务设置系统属性。虽然testdebugTest来自同一类型(Test),但您需要了解这里有2个完整的单独任务。一个选项可能是对Test类型的所有任务应用系统属性配置:

tasks.withType(Test){
     systemProperties['PROP'] = 'true'
}

另一个问题是,您在配置块中的debugTest中设置了println语句。相反,你应该使用一个动作块。此外,如果测试jvm中的属性可用,则完全无法证明。