mocha --inspect-brk lets me inspect mocha's code - not my own

时间:2018-03-23 00:05:23

标签: node.js debugging mocha

Following this discussion I attempted to debug a mocha test script via the following:

mocha --inspect-brk ./tests/foo.test.js

This does indeed present an inspector URL that I can bind to in Chrome, but the "sources" are populated only with the source of mocha itself, not my code - is there something I need to change to get the inspector to bring up my code and not mocha's?

(I did see a similar question but I'm hoping for an answer that doesn't involve bringing in another dependency like node-inspector.)

1 个答案:

答案 0 :(得分:1)

Add debugger to one of your tests. When you resume in dev tools, execution will pause in your test code and you can browse your files.

it('should replace a template string', function(){
  debugger
  expect( Helper.templateString('{{a}}', {a:2}) ).to.equal( '2' )
})

You can also step over _mocha until it loads the files, which is around line 460 in v5.0.4, labeled requires:

// requires

requires.forEach(mod => {
  require(mod);
});

After this you can browse your files and set break points. Dev tools will remember the break points for the next run.