我正在使用Mocha为Node.js应用程序编写测试套件。我正在测试的功能将其日志直接写入console.log
,而没有任何第三方日志记录解决方案。
我不在乎成功测试的日志,仅在失败测试中记录日志,由于我的函数非常冗长,因此测试输出不必要地长。
如何抑制通过成功的Mocha测试的console.log
输出?
答案 0 :(得分:3)
您可以修改while
函数以将其参数记录到变量中:
console.log
const originalLogFunction = console.log;
let output;
beforeEach(function(done) {
output = '';
console.log = (msg) => {
output += msg + '\n';
};
});
如果要提供多个参数或对象,则可能需要修改虚拟日志功能。这是一个简化的示例。
答案 1 :(得分:2)
这是“摩卡抑制日志”的另一种方式
安装:
npm install --save-dev mocha-suppress-logs
然后您可以将其用于每个描述:
const suppressLogs = require('mocha-suppress-logs');
describe('Something', () => {
suppressLogs();
it('should do something', () => {
// test code
});
});