Мокко: Скрыть вывод console.log из успешных тестов - PullRequest
0 голосов
/ 01 ноября 2018

Моя проблема

Я пишу набор тестов для приложения Node.js, используя Mocha . Функции, которые я тестирую, записывают свои журналы в console.log напрямую, без какого-либо стороннего решения для ведения журналов.

Меня не волнуют журналы из успешных тестов, только из неудачных тестов, и, поскольку мои функции довольно многословны, вывод теста излишне длинен.

Что я пытался

Мой вопрос

Как я могу подавить console.log вывод из прохождения / успешных тестов Мокко?

1 Ответ

0 голосов
/ 01 ноября 2018

Вы можете изменить функцию console.log, чтобы записать ее аргумент в переменную:

const originalLogFunction = console.log;
let output;
beforeEach(function(done) {
  output = '';
  console.log = (msg) => {
    output += msg + '\n';
  };
});
afterEach(function() {
  console.log = originalLogFunction; // undo dummy log function
  if (this.currentTest.state === 'failed') {
    console.log(output);
  }
});

Возможно, вам придется изменить фиктивную функцию журнала, если вы предоставляете более одного аргумента или объекта. Это упрощенный пример.

...