Как правильно включить отладчик узла с помощью переключателя mocha --debug-brk?
У меня есть некоторые операторы отладчика в моем тестируемом модуле и я хочу запустить mocha с --debug-brk set и ударить по моей точке останова, чтобы я мог проверить состояние моего модуля. К сожалению, всякий раз, когда я запускаю mocha с этой опцией, я получаю пустой курсор на следующей строке. Я могу ввести текст, но нет ничего, что, кажется, обрабатывает мои команды (это, конечно, не похоже на отладчик узла):
$ mocha --debug-brk tests.js -R spec
debugger listening on port 5858
[BLANK CURSOR]
Я делаю что-то не так с тем, как я запускаю мокко?
5 ответов:
чтобы ответить на исходный вопрос, хотя я также предлагаю вам взглянуть в
node-inspector: вы можете использовать отладчик CLI, встроенный в узел через mocha с , вместо--debugили--debug-brkфлаги. (Обратите внимание на отсутствие тире.)в вашем примере, вместо того, что бы:
$ mocha debug tests.js -R spec debugger listening on port 5858 connecting... ok break in node_modules/mocha/bin/_mocha:7 5 */ 6 7 var program = require('commander') 8 , sprintf = require('util').format 9 , path = require('path') debug> [CURSOR]опять
debugкак указано выше жирным шрифтом, без тире. (=соответствующие: https://github.com/visionmedia/mocha/issues/247
использование последней версии nodejs (>=В6.3.0) и мокко ( > =3.1.0), вы можете использовать интеграция инспектора V8.
интеграция инспектора V8 позволяет прикреплять Chrome DevTools к узлу.js экземпляры для отладки и профилирования
использование
--inspectактивирует интеграцию инспектора V8 и--debug-brkдобавляет точку останова в начале. Так как nodejs В7.6.0 и мокко v3.3. 0 можно использовать--inspect-brkобозначение--inspect --debug-brk$ mocha --debug-brk --inspect Debugger listening on port 9229. Warning: This is an experimental feature and could change at any time. To start debugging, open the following URL in Chrome: chrome-devtools://devtools/remote/serve_file/@62cd277117e6f8ec53e31b1be58290a6f7ab42ef/inspector.html?experiments=true&v8only=true&ws=localhost:9229/nodeсо скриптами npm
если у вас есть тестовый сценарий npm, который использует mocha, вы можете передать параметры из npm в сценарий mocha с помощью конец варианта разделителя
--:
$ npm test -- --inspect --debug-brkхромированием
вместо того, чтобы копировать и вставлять URL-адрес каждый раз, перейдите к
chrome://inspectи нажмите на соответствующую ссылку в разделе" Удаленная цель".
я смог заставить это работать с помощью узел-инспектор. Я запускаю свой тест, как вы показываете в одной оболочке:
mocha --debug-brk mocha/test.jsа затем запустить node-inspector во второй оболочке:
node-inspectorвывод URL-адреса, который node-inspector выплевывает в браузере, позволяет мне отлаживать веб-инспектор.
http://127.0.0.1:8080/debug?port=5858
Если у вас установлен Node-insector, вы можете отлаживать тесты Mocha без фактического запуска node-inspector. Самый простой способ-это
node-debug _mochaЭто должно начать отладку тестов узлов в chrome (также работает на Safari)
одной из причин я видел, что тесты не работают, иногда вы дали попробовать http://localhost:8080/debug?порт=5858 или http://127.0.0.1:8080/debug?порт=5858
запустить мокко с флагом
--inspect-brkи нажмите "Открыть выделенные DevTools для узла" в chrome со страницыchrome://inspect. В выделенное окно инструментов разработчика добавить подключениеlocalhost:9229автоматическое подключение.добавить
debuggerинструкция к файлу, который вы хотите отладить.(это использование последних версий node и chrome по состоянию на октябрь 2017 года)