将stdout彩色输出传递给grunt输出

我正在尝试创build一个运行mochatesting的grunt自定义任务,但我无法弄清楚如何让grunt从mocha获取彩色输出,并以直接运行mocha命令的方式显示它。 即:咕噜出去的颜色或不通过他们通过。 这是咕噜的任务:

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(); } }); }); 

我意识到有一个我可以使用(和使用)的grunt-mocha插件,但我试图消除依赖关系,也将在这个任务上做一些定制。

谢谢!

这大多是这个问题的重复。

您需要添加 – --colors强制摩卡输出ANSI颜色代码,否则它会自动禁用颜色,因为它不输出到实际的terminal。

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