Как отлаживать 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 для просмотра отладки:

  1. первая загрузка Я вижу пустой список файлов
  2. вторая загрузка: страница не найдена.

В моем тесте 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