Я хочу, чтобы иметь возможность оставить оператор debugger
(или что-то подобное) прямо в мой код и получить REPL, когда я запускаю свои тесты, чтобы я мог взаимодействовать с моим кодом для отладки.CLI-отладчик для тестов Mocha
Я понимаю, что узел (через V8) поддерживает debugger
заявление из коробки, но вы должны запустить свой код с определенными флагами (через node debug
или node --debug
или node --debug-brk
- я не очень понимаю разницу).
Mocha имеет такие же флаги, а также, и когда я бегу mocha debug
я действительно получить отладчик строки в моем терминале:
< Debugger listening on port 5858
connecting to port 5858... ok
break in node_modules/mocha/bin/_mocha:5
3 */
4
> 5 var program = require('commander')
6 , path = require('path')
7 , fs = require('fs')
debug>
Но точка останова в коде мокко, а не моя точка останова. This blog post говорит, что вы должны ввести run
, затем continue
, чтобы добраться до точки останова, но когда я вхожу run
, он сообщает мне, что «приложение уже работает ...», и когда я вхожу в continue
, он сообщает мне «SyntaxError: Illegal continue statement».
В нем говорится «прослушивание порта 5858» - мне нужно открыть отдельное подключение к этому порту откуда-то, например, в браузере или другом сеансе терминала?
Я видел кое-что о node-inspector
, но мне нравится как можно больше оставаться в терминале, поэтому я предпочитаю способ сделать это, не открывая браузер.
Я новичок в JS, пожалуйста ELI5 :)
Кроме того, если это уместно, я на самом деле с помощью io.js, не Node собственно
Удивительный, спасибо! Я не понимал, что ключ должен был использовать 'c' вместо' continue'. Кроме того, на всякий случай кто-то сталкивается с этим, когда отладчик попадает в точку останова (должен быть справа после ввода 'c'), вы должны ввести' repl', чтобы получить REPL, где находится инструкция 'debugger' –