2014-04-12 37 views
1

我有一個咕嚕任務,像這樣:gruntjs後清理遇到的故障代碼

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

如果mochaTest以失敗代碼返回,最後的清理將無法運行,並會留下不必要的transpiled文件。
它不會拋出錯誤,所以我不能嘗試/ catch/finally和谷歌/閱讀源代碼不提供我的解決方案,除了每次失敗後手動運行grunt clean:test

我是以這種錯誤的方式去做的,還是有一種漂亮的方法來做類似於finally塊的事情?

(我知道我可以用咖啡文件運行摩卡,這是一個簡單的例子問題)

回答

0

我做了什麼來解決,這是在我的Makefile以添加

測試:測試咕嚕& &咕嚕清潔:測試

,以確保即使試驗失敗後,正確的清除。

$ make test
來運行它。

1

最終'clean:test'不運行的原因是步兵旨在停止故障。如果您使用--force選項(grunt test --force),則可能導致它在mochaTest失敗後繼續。這不是一個好習慣,或者在你的任務鏈更長,更相互依賴或更復雜的情況下沒有意義。