Тестирование javascript с помощью Mocha - как я могу использовать console.log для отладки теста?

Я использую javascript test-runner "Mocha".

У меня есть тест, который терпит неудачу, поэтому я бы отлаживал его с помощью console.log.

Но когда тесты выполняются, нет выхода (только результаты теста от Mocha). Кажется, что Mocha захватил и подавил выход console.log!

Как я могу получить Mocha для вывода моего вывода? (для неудачных тестов)?

EDIT:

Огромные извинения! - console.log работает во время тестов! Должно быть, я ожидал, что он подавит выход, и я не смог проверить свой собственный код. Спасибо, что ответили. Итак... что было сказано... может быть, было бы неплохо подавить выход для тестов, которые проходят? хмм...

Относительно примечания: я хочу использовать console.log, потому что у меня много проблем, пытаясь заставить отладчика Eclipse подключиться к node.js.

Я единственный, кто считает это сложным? Как вы, ребята, отлаживаете node.js? С отладчиком или с операторами console.log?

Ответ 1

Какие опции Mocha вы используете?

Может быть, это связано с использованием репортера (-R) или ui (-ui)?

console.log(msg);

отлично работает во время моих тестовых прогонов, хотя иногда их смешивают в немного тупой. Предположительно из-за асинхронного характера тестового прогона.

Вот параметры (mocha.opts), которые я использую:

--require should
-R spec
--ui bdd

Хм.. проверено без каких-либо mocha.opts и console.log все еще работает.

Ответ 2

Если вы тестируете асинхронный код, вам нужно поместить done() в обратный вызов этого асинхронного кода. У меня была эта проблема при тестировании HTTP-запросов в REST API.

Ответ 3

Возможно, вы также поместили свой console.log после ожидания, который завершился неудачно, и он не показан, поэтому ваша строка журнала никогда не будет выполнена.