【问题标题】:Cleaning up after gruntjs encounters a fail codegruntjs 遇到失败代码后清理
【发布时间】:2014-04-12 09:37:26
【问题描述】:

我有一个像这样的繁重任务:

grunt.registerTask 'test', ['clean:test',
                          'coffee:test',
                          'mochaTest',
                          'clean:test']

如果 mochaTest 返回失败代码,则最后一次清理将不会运行,并且会留下不需要的转译文件。
它不会引发错误,因此我无法尝试/捕获/最终,而谷歌/阅读源代码并没有为我提供解决方案,除非在每次失败后手动运行 grunt clean:test

我是不是走错了路,还是有一种很好的方法来做类似于 finally-block 的事情?

(我知道我可以使用咖啡文件运行 mocha,这是一个简化的示例问题)

【问题讨论】:

    标签: javascript coffeescript gruntjs


    【解决方案1】:

    最终的'clean:test' 没有运行的原因是 Grunt 被设计为在失败时停止。如果您使用了--force 选项(grunt test --force),您可能会导致它在mochaTest 失败后继续。这不是一个好习惯,或者在您的任务链更长、更相互依赖或更复杂的情况下没有意义。

    【讨论】:

      【解决方案2】:

      我为解决这个问题所做的是在我的 Makefile 中添加

      测试:咕噜测试 && 咕噜清洁:测试

      确保即使在测试失败后也能进行适当的清理。

      $make 测试
      运行它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-11-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-04-08
        • 2010-12-22
        相关资源
        最近更新 更多