Java 如果gradle项目中的测试任务失败,请运行stop tomcat任务
我正在做一个gradle项目。我为它写了一些测试。 在build.gradle中,我为它编写了三个任务:tomcatStart、tomcatEnd和test。 在测试任务内部,我在doFirst中执行tomcatStart,在doLast中执行tomcatStop。 如果没有测试失败,一切正常。 但是如果测试失败,tomcat将继续运行Java 如果gradle项目中的测试任务失败,请运行stop tomcat任务,java,gradle,Java,Gradle,我正在做一个gradle项目。我为它写了一些测试。 在build.gradle中,我为它编写了三个任务:tomcatStart、tomcatEnd和test。 在测试任务内部,我在doFirst中执行tomcatStart,在doLast中执行tomcatStop。 如果没有测试失败,一切正常。 但是如果测试失败,tomcat将继续运行 我想知道是否有任何方法,即使测试任务失败,我也可以停止tomcat。尝试使用测试任务的finalizeeby属性。官方对此有很好的描述。据它说: 如果生成创建了
我想知道是否有任何方法,即使测试任务失败,我也可以停止tomcat。尝试使用测试任务的
finalizeeby
属性。官方对此有很好的描述。据它说:
如果生成创建了一个无论生成失败或成功都必须清理的资源,那么终结器任务在这种情况下非常有用。此类资源的一个示例是在集成测试任务之前启动的web容器,即使某些测试失败,也应始终关闭该容器
以下是文档中的一个示例:
task taskX {
doLast {
println 'taskX'
throw new RuntimeException()
}
}
task taskY {
doLast {
println 'taskY'
}
}
taskX.finalizedBy taskY
尝试使用测试任务的
finalizeebby
属性。官方对此有很好的描述。据它说:
如果生成创建了一个无论生成失败或成功都必须清理的资源,那么终结器任务在这种情况下非常有用。此类资源的一个示例是在集成测试任务之前启动的web容器,即使某些测试失败,也应始终关闭该容器
以下是文档中的一个示例:
task taskX {
doLast {
println 'taskX'
throw new RuntimeException()
}
}
task taskY {
doLast {
println 'taskY'
}
}
taskX.finalizedBy taskY
谢谢@Stanislav谢谢@Stanislav