現在のテスト タスクは次のようになります。
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
ましたが、複数のテストスイートを実行しています。このスレッドをすべてのスイートの前に開始し、すべてのスイートの後に強制終了したいだけです。