抑制成功的mocha测试的控制台日志

时间:2015-07-16 08:25:19

标签: node.js mocha winston

运行mocha测试套件时,我的控制台输出会被应用程序日志污染。是否有一种简单的方法可以阻止这些日志成功进行测试?我能够抑制测试环境的所有日志,但是我希望看到失败测试的日志。我使用Winston作为日志库。

1 个答案:

答案 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) {}
});