【发布时间】:2015-04-29 15:36:16
【问题描述】:
我想为一些测试任务设置一些东西。更具体地说,我想添加一些环境变量和一些系统属性,也许还有一些其他的东西,例如“依赖项”或“workingDir”。使用常规的Test 任务,我可以做到这一点,
task test1(type:Test, dependsOn:[testPrep,testPrep1]){
workingDir testWorkingPath
systemProperty 'property','abs'
environment.find { it.key ==~ /(?i)PATH/ }.value += (System.properties['path.separator'] + myLibPath)
environment.LD_LIBRARY_PATH = "/usr/lib64:/lib64:${myLibPath}:" + environment.LD_LIBRARY_PATH
}
task test2(type:Test, dependsOn:[testPrep]){
workingDir testWorkingPath
systemProperty 'property','abs'
environment.find { it.key ==~ /(?i)PATH/ }.value += (System.properties['path.separator'] + myLibPath)
environment.LD_LIBRARY_PATH = "/usr/lib64:/lib64:${myLibPath}:" + environment.LD_LIBRARY_PATH
systemPropety 'newProperty','fdsjfkd'
}
如果有一个新的任务类型MyTestType 扩展常规的测试任务类型,那将是很好的,其中定义了通用定义。
task test1(type:MyTestType){
dependsOn testPrep1
}
task test2(type:MyTestType){
systemPropety 'newProperty','fdsjfkd'
}
最好的方法是什么? execute() 方法似乎是最终的,无法扩展。我需要做类似doFirst 的操作来设置这些属性。我应该在构造函数中添加所有额外的值吗?我可以使用其他任何钩子吗?谢谢。
【问题讨论】: