Тестирование 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
после ожидания, который завершился неудачно, и он не показан, поэтому ваша строка журнала никогда не будет выполнена.