Вибачте за те, що додав ще одну відповідь, але жоден з попередніх не працював для мене, ніж VS Code 1.8.1 та стандартний відладчик Node, включений до нього. Ось як я це вирішив (із вказівками з попередніх відповідей тут і з офіційного документа VS Code Node.js налагодження ), так що є налагодження одним клацанням / натисканням клавіші:
- Переконайтеся , що мокко встановлюються як
devDependency
ін packages.json
:"devDependencies": { "mocha": "^3.2", ... }
- Запустіть
npm install
у своєму каталозі, package.json
щоб переконатися, що мока зараз встановленоnode_modules/
- Відкрийте
.vscode/launch.json
(або в коді VS, натисніть F1, почніть вводити "запуск" і виберіть "Налагодження: відкрити запуск.json")
- Клацніть синю кнопку "Додати конфігурацію" в нижньому правому куті (або просто скопіюйте та вставте одну з інших); цей крок необов’язковий ... Я маю на увазі, ви можете повторно використовувати наявний конфігурацію. Але я пропоную додати його, щоб він не був менш заплутаним.
- Змініть наступне у своєму
launch.json
, а потім виберіть нове ім’я конфігурації у вікні налагодження у коді VS та натисніть зелену стрілку, щоб почати налагодження вашого вузла + мок-тестів!
У новій конфігурації в launch.json:
"configurations": [{
"name": "whatever name you want to show in the VS Code debug list",
"type": "node",
"cwd": "${workspaceRoot}",
"program": "${workspaceRoot}/node_modules/mocha/bin/mocha",
"args": ["--debug-brk=5858", "--no-timeouts", "--colors", "test/**/*.js"],
"address": "localhost",
"port": 5858,
// the other default properties that are created for you are fine as-is
}, ...]
Це передбачає, що модель test/**/*.js
буде працювати для того, де ви поставите свої тести. Зміна відповідно.
Не соромтеся змінювати порт, доки ви зміните його в обох властивостях args
та port
властивостях, щоб вони відповідали.
Ключові відмінності для мене полягали в тому node_modules
, program
щоб переконатись у тому , що мока був у використанні, щоб вказати на виконуваний файл та args
потребував debug-brk=x
вказівки на порт, вказаний у port
. Решта вище сказаного просто робить речі гарнішими та легшими.
Якщо ви помістите .vscode/launch.json
у сховище чи ні, це залежить від вас та вашої команди . Це файл, призначений лише для IDE, але вся ваша команда могла використовувати його так, без проблем, оскільки всі шляхи та встановлення відносні та явні.
Порада. Тег package.json
може включати scripts
тег, який також запускає мочу з чимось подібним "test": "./node_modules/.bin/mocha"
, але він не використовується кодом VS - замість цього він використовується, коли npm test
запускається в командному рядку. Цей трохи заплутав мене. Відзначивши це тут, якщо інші теж заплутаються.
EDIT: Код VS 1.9.0 додав параметр "Додати конфігурацію" у спадному меню конфігурації налагодження, і ви можете вибрати "Модельні тести Node.js", які допоможуть спростити більшу частину вищезазначеного. Вам все-таки потрібно переконатися, що мока є у вас, node_modules
і, можливо, доведеться оновити cwd
останній runtimeArgs
(що є зразком для пошуку ваших тестів), щоб вказати на відповідні шляхи. Але як тільки ви встановите ці два властивості, він звідти повинен працювати набагато.
"args"
блок:"--require", "${workspaceFolder}/tools/testSetup.js",