在 `mocha --watch` 重新运行之前清除标准输出

Clear stdout before `mocha --watch` re-runs

我想在使用 mocha --watch 的每个测试迭代之间自动执行 clear。在 (re)运行 mocha?

之前,有没有一种自动执行命令的好方法?

我最终采用的方法是使用 --delay,它可以让您在开始测试之前 运行 您自己的异步代码(使用 global.run()。文档 here

_.tests.js:

var exec = require('child_process').exec;
var child;
child = exec('clear', function (error, stdout, stderr) {
    console.log(stdout);
    console.log(stderr);
    if (error !== null) {
        console.log('exec error: ' + error);
    }
    global.run();
});

Mocha 支持不同的 reporters, and the min 报告者完全符合您的要求:

mocha run --recursive dist/tests --reporter min

如果与 --watch 标志一起使用,它会特别有用,因为测试 运行 会不断改变文件。