运行mocha测试套件时,我的控制台输出会被应用程序日志污染。是否有一种简单的方法可以阻止这些日志成功进行测试?我能够抑制测试环境的所有日志,但是我希望看到失败测试的日志。我使用Winston作为日志库。
答案 0 :(得分:0)
您可以在运行将日志写入日志文件的测试时设置单独的Winston传输,并在测试失败时显示该文件的内容:
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) {}
});