我目前的測試任務是這樣的:搖籃測試:如何做,即使測試失敗
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