Edit Nov 2016: Node now has a built in debugger that you can start with --inspect
. This answer explains it: https://stackoverflow.com/a/39901169/30946.
I'm building a mocha test in coffeescript. Right at the top of the test I have:
require "../assets/js/theObject.coffee"
debugger
ss = new TheObject()
I'd like to stop on that debugger line because the object in theObject.coffee
isn't being loaded. I'm using node-inspector and it works, sorta.
The process that I have is:
- start node-inspector
- run the test at the command line with
mocha --compilers coffee:coffee-script ./test/theObjectTests.coffee --ui bdd -d --debug-brk
- go to the node-inspector page, refresh it if it is already open
- wait for the file
theObject.coffee
to be loaded, then put a breakpoint on the correct line
There must be an easier way. It seems like I should be able to have a debugger running and just have it stop on that debugger line, but I'm not able to find that.
I have WebStorm, which has a debugger (this article discusses setting it up to run mocha tests, but it didn't help me), but when I start it, it fails. The command that's running in the WebStorm debug window is:
"C:Program Files
odejs
ode.exe" --debug-brk=64232 C:UsersjcollumAppDataRoaming
pm\_mocha
C:UsersjcollumAppDataRoaming
pm\_mocha:2
basedir=`dirname "$0"`
I suspect that might be a windows specific issue.
Env: Windows 7, Webstorm, node 0.8.16, mocha 1.7.4, git-bash
The question: if you're starting from scratch with Mocha, what's the easiest way to get a debugger going that will stop on a debugger line easily? Easy is the keyword here.
Edit: since asking this I've stopped using Windows and am working in Ubuntu. My mocha debugging process (which I use infrequently) is the same.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…