Age*_*dit 13 testing task gradle
我不知道我是不是这样做,或者我是否必须以不同的方式处理内置的gradle任务,但我有一个我定义的测试任务
task testNGTests(type: Test) {
useTestNG()
}
Run Code Online (Sandbox Code Playgroud)
我试图在这样的doFirst闭包中使用它
task taskA {
doFirst {
testNGTests.execute()
}
}
Run Code Online (Sandbox Code Playgroud)
但由于某种原因它不起作用,我也试过了
testNGTests.executeTests()
Run Code Online (Sandbox Code Playgroud)
但那也不起作用.我是否有一种特殊的方式来处理内置的测试任务?
我使用的是gradle版本0.9.2
Pet*_*ser 14
从另一个任务执行任务不是(并且从未被)正式支持.尝试使用任务依赖性,例如taskA.dependsOn(testNGTests).
小智 6
我找到了解决方法来做到这一点.在我的场景中,我有一个任务,读取用户输入,并根据他的anwser我需要创建具有不同配置的EAR.我使用了GradleBuild类型的任务 .这是代码:
task createEar() << {
def wichTypeOfEar = System.console().readLine("Which EAR?? (a, b)\n")
if(wichTypeOfEar == 'a'){
tasks.earA.execute()
}else{
tasks.earB.execute()
}
}
task earA(type: GradleBuild) {
doFirst{
// Here I can do some stuffs related to ear A
}
tasks = ['ear']
}
task earB(type: GradleBuild) {
doFirst{
// Here I can do some stuffs related to ear B
}
tasks = ['ear']
}
ear {
//Here is the common built in EAR task from 'ear' plugin
}
Run Code Online (Sandbox Code Playgroud)
在您的情况下,您可以执行以下操作:
task testNGTests(type: Test) {
useTestNG()
}
task testNGTestsWrapper(type: GradleBuild){
tasks = ['testNGTests']
}
task taskA {
doFirst {
testNGTestsWrapper.execute()
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
28471 次 |
| 最近记录: |