Как отлаживать nodeunit с помощью node -инспектор
Я могу сделать:
- Я могу протестировать модули node.js, используя nodeunit.
- Я могу отладить мой сайт node.js express, используя node инспектор.
Но как отлаживать проверку nodeunit с помощью node инспектор?
Я пробовал, но не работал:
-
nodeunit --debug myNodeUnitModule_test.js
Он не работает.
- Я попытался установить nodebug.
И использовал его вот так:
nodebug /usr/local/bin/nodeunit myNodeunit_test.js
Но он не работает ни на ubuntu (No such file or directory
), ни на mac (env: node\r: No such file or directory
)
Почти работает
node --debug/usr/local/bin/nodeunit./routes/edit/bodyTelInfoArraysToObject_test.js
где /usr/local/bin/nodeunit
- путь, полученный командой which nodeunit
получил выход:
debugger listening on port 5858
и выполненный там тест.
Но я не могу перескакивать в debuggin: когда я открываю url localhost:8080
в chrome для просмотра отладки:
- первая загрузка Я вижу пустой список файлов
- вторая загрузка: страница не найдена.
В моем тесте nodeunit я написал debugger
, чтобы остановить там отладки.
Но ничего.
Ответы
Ответ 1
В ваших тестах вставьте команду debugger;
exports['Main test'] = function(test){
debugger;
test.expect(1);
test.ok(true, 'Must be ok');
test.done();
};
И начните все это
$ node --debug-brk `which nodeunit` test.js
Теперь в браузере нажмите F8, затем F10, и вы правы на следующей строке после первой команды debugger;
в своем тесте.
Но я предпочитаю запускать все с помощью node -supervisor, которые автоматически перезапускают тест при завершении теста или изменении файлов в каталоге проекта:
$ npm -g install supervisor node-inspector
$ # console 1
$ # supervisor restarts node-inspector when it quits
$ # ignores file changes
$ supervisor -i . -x node-inspector .
$ # console 2
$ supervisor --debug-brk -- `which nodeunit` test/index.js
Ответ 2
Решение найдено:
-
в консоли:
node --debug-brk `which nodeunit`./path/To/My/NodeUnitTests/nodeunit_test.coffee (Внимание:` which nodeunit` находится в обратных кавычках)
-
в другой консоли:
node-inspector &
-
И в google chrome open: http://0.0.0.0:8080/debug?port=5858
Здесь я вижу отладку nodeunit с самого начала. Нажмите кнопку "Продолжить" несколько раз в браузере, пока не перейдете к тесту nodeunit, где у меня есть строка debugger;
. Поэтому я отлаживаю свой тест nodeunit с помощью nodeinspector