我正在做一个gradle项目。我已经写了几个测试。 在build.gradle中,我为它编写了三个任务:tomcatStart,tomcatEnd和test。 在测试任务中,我在doFirst中执行tomcatStart,在doLast中执行tomcatStop。 如果没有测试失败,一切正常。 但是如果测试失败,tomcat会继续运行。
我想知道是否有任何方法,即使测试任务失败,我也可以停止tomcat。
答案 0 :(得分:0)
尝试使用测试任务的finalizebBy
属性。它在官方documentation中得到了很好的描述。根据它:
在构建创建必须清理的资源而不管构建是否失败或成功的情况下,终结器任务非常有用。此类资源的一个示例是在集成测试任务之前启动并且应始终关闭的Web容器,即使某些测试失败也是如此。
以下是文档中的一个示例:
task taskX {
doLast {
println 'taskX'
throw new RuntimeException()
}
}
task taskY {
doLast {
println 'taskY'
}
}
taskX.finalizedBy taskY