2

我正在尝试创建一个运行 mocha 测试的 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 插件,但我正在尝试消除依赖关系,并且还将对此任务进行一些自定义。

谢谢!

4

1 回答 1

6

这主要是这个问题的副本。

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

var cmd = "mocha --colors -R Spec tests/mocha/*.js";
于 2012-12-27T22:06:20.620 回答