how can I use console.log to debug a test?
I am using the javascript test-runner "Mocha".
I have a test that is failing, so I would to debug it using console.log
.
But when the tests are run, there is no output (only the test results from Mocha). It seems like Mocha has captured and suppressed my console.log
output!
How can I get Mocha to show my output? (at for tests that fail)?
EDIT:
Huge apologies! — console.log
does work during tests! I must have been expecting it to suppress the output, and I didn't properly check my own code. Thanks for responding. So... that being said... maybe it actually would be nice to suppress the output for tests that pass? hmm...
On a related note: I want to use console.log
because I am having a lot of trouble trying to get the Eclipse debugger to connect to node.js.
Am I the only one who finds this tricky? How do you guys debug node.js? With a debugger, or with console.log
statements?
What Mocha options are you using?
Maybe it is something to do with reporter (-R) or ui (-ui) being used?
console.log(msg);
works fine during my test runs, though sometimes mixed in a little goofy. Presumably due to the async nature of the test run.
Here are the options (mocha.opts) I'm using:
--require should
-R spec
--ui bdd
Hmm..just tested without any mocha.opts and console.log
still works.
If you are testing asynchronous code, you need to make sure to place done()
in the callback of that asynchronous code. I had that issue when testing http requests to a REST API.
你可能也会把你的console.log
放在一个失败的预期之后,因此你的日志行不会被执行。