【问题标题】:run stop tomcat task if test task fails in gradle project如果 gradle 项目中的测试任务失败,则运行停止 tomcat 任务
【发布时间】:2017-07-06 09:42:49
【问题描述】:

我正在做一个 gradle 项目。我已经为它写了几个测试。 在 build.gradle 中,我为它写了三个任务:tomcatStart、tomcatEnd 和 test。 在测试任务中,我在 doFirst 中执行 tomcatStart,在 doLast 中执行 tomcatStop。 如果没有测试失败,一切正常。 但如果测试失败,tomcat 会继续运行。

我想知道有没有办法,即使测试任务失败,我也可以停止tomcat。

【问题讨论】:

    标签: java gradle


    【解决方案1】:

    尝试使用测试任务的finalizebBy 属性。官方documentation中有很好的描述。根据它:

    终结器任务在构建创建的资源无论构建失败还是成功都必须清理的情况下很有用。此类资源的一个示例是在集成测试任务之前启动的 Web 容器,即使某些测试失败,也应始终关闭它。

    以下是文档中的一个示例:

    task taskX {
        doLast {
            println 'taskX'
            throw new RuntimeException()
        }
    }
    task taskY {
        doLast {
            println 'taskY'
        }
    }
    
    taskX.finalizedBy taskY
    

    【讨论】:

    • 谢谢@Stanislav
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-13
    • 1970-01-01
    相关资源
    最近更新 更多