Node.js 抑制成功mocha测试的控制台日志
运行mocha测试套件时,我的控制台输出被应用程序日志污染。有没有一种简单的方法可以阻止这些日志通过成功的测试?我能够抑制测试环境的所有日志,但我希望看到失败测试的日志。我正在使用as日志库。您可以在运行将日志写入日志文件的测试时设置单独的Winston传输,并在测试失败时显示该文件的内容:Node.js 抑制成功mocha测试的控制台日志,node.js,mocha.js,winston,Node.js,Mocha.js,Winston,运行mocha测试套件时,我的控制台输出被应用程序日志污染。有没有一种简单的方法可以阻止这些日志通过成功的测试?我能够抑制测试环境的所有日志,但我希望看到失败测试的日志。我正在使用as日志库。您可以在运行将日志写入日志文件的测试时设置单独的Winston传输,并在测试失败时显示该文件的内容: afterEach(function() { if (this.currentTest.state !== 'failed') return; console.log( fs.readFileSyn
afterEach(function() {
if (this.currentTest.state !== 'failed') return;
console.log( fs.readFileSync('/your/logfile').toString() );
});
在每次测试之前,您要删除文件以重新开始:
beforeEach(function(done) {
try { fs.unlinkSync('/your/logfile'); } catch(e) {}
});
记录器如何知道哪些测试将失败?当然,记录器不知道。但应该可以将所有日志堆叠在一个队列中,如果测试成功,则刷新队列,如果未堆叠,则将日志发送到控制台。所以问题是,如果有人已经试过了,或者我应该自己试一下。。。