2012-12-27 86 views
1

我正在嘗試創建一個運行mocha測試的grunt自定義任務,但我無法弄清楚如何讓grunt從摩卡獲取彩色輸出並顯示它,因爲它在運行摩卡指揮直接。即:咕嚕剔除顏色或不通過它們。這裏的咕嚕任務:將stdout彩色輸出傳遞給grunt輸出

var exec = require("child_process").exec; 
grunt.registerTask('mocha', 'Run unit (Mocha) tests.', function() { 
    var done = this.async(); 
    var cmd = "mocha -R Spec tests/mocha/*.js"; 
    exec(cmd, function (error, stdout, stderr) { 
     if (stdout) { 
      grunt.verbose.or.write(stdout); 
      done(); 
     } 
    }); 
}); 

我知道有一個咕嚕,摩卡插件我可以使用(和已經使用),但我試圖消除依賴關係,並且還將做這個任務的一些定製。

謝謝!

回答

5

這大部分是this question的副本。

您需要添加--colors強制Mocha輸出ANSI顏色代碼,否則它會自動禁用顏色,因爲它不會輸出到實際終端。

var cmd = "mocha --colors -R Spec tests/mocha/*.js"; 
+0

工作完美。謝謝! – luisgo

+0

在查看如何禁用顏色時發現此問題。試過' - 無色',它的工作。謝謝! –