我目前的测试任务是这样的:摇篮测试:如何做,即使测试失败
test {
doFirst {
println 'Starting application...'
Thread.startDaemon {
appProcess = testServerExec.execute()
}
sleep 20000 // wait for thread to start
}
doLast {
appProcess.destroy()
}
}
我已经注意到,如果测试通过,appProcess.destroy()
被调用,每个人的快乐。但是,如果测试失败,线程就会徘徊,我必须自己终止进程。我知道Gradle有一个try/finally,但我不确定如何在这种情况下正确使用它。基本上,我想appProcess.destroy()
运行,即使测试失败。
我该怎么办?
编辑:发现beforeSuite
和afterSuite
,但我运行了多套测试,我只想在所有套件之前启动此线程,并在所有套件之后终止。
我不是专家,但是你尝试过'afterTest'?这似乎是一个可拆卸的能力。 [doc](http://www.gradle.org/docs/current/javadoc/org/gradle/api/tasks/testing/Test.html#afterTest(groovy.lang.Closure)) – zaquest
有多个多重测试套房,我只想要这个线程创建/销毁一次,所以'afterTest'和'afterSuite'不适合我。不过,这是一个很好的想法。 – Depressio
您可以使用[源集](http://www.gradle.org/docs/current/userguide/userguide_single.html#N11D51)吗? – zaquest