Es tut mir leid, dass ich noch eine weitere Antwort hinzugefügt habe, aber keine der vorherigen hat ab VS Code 1.8.1 und dem darin enthaltenen Standard-Node-Debugger für mich funktioniert. Hier ist die Art und Weise, wie ich es gelöst habe (unter Anleitung der vorherigen Antworten hier und der offiziellen VS Code Node.js Debugging- Dokumente), sodass es ein Debugging mit einem Klick / Tastendruck gibt:
- Stellen Sie sicher, dass Mokka als
devDependency
in installiert ist packages.json
:"devDependencies": { "mocha": "^3.2", ... }
- Führen Sie es
npm install
in Ihrem Verzeichnis aus package.json
, um sicherzustellen, dass Mokka jetzt in installiert istnode_modules/
- Öffnen Sie
.vscode/launch.json
(oder drücken Sie im VS-Code F1, geben Sie "launch" ein und wählen Sie "Debug: Open launch.json").
- Klicken Sie unten rechts auf die blaue Schaltfläche "Konfiguration hinzufügen" (oder kopieren Sie einfach eine Ihrer anderen und fügen Sie sie ein). Dieser Schritt ist optional ... Ich meine, Sie können eine vorhandene Konfiguration wiederverwenden. Aber ich schlage vor, eine hinzuzufügen, um es weniger verwirrend zu halten.
- Ändern Sie Folgendes in Ihrem
launch.json
, wählen Sie dann den neuen Konfigurationsnamen im Debug-Fenster in VS Code und klicken Sie auf den grünen Pfeil, um das Debuggen Ihrer Knoten- + Mokka-Tests zu starten!
In der neuen Konfiguration in 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
}, ...]
Dies setzt voraus, dass das Muster dort test/**/*.js
funktioniert, wo Sie Ihre Tests durchführen. Gegebenenfalls ändern.
Sie können den Port jederzeit ändern, solange Sie ihn in den entsprechenden args
und port
Eigenschaften ändern .
Die wichtigsten Unterschiede für mich dafür , dass Mokka war node_modules
, mit program
der ausführbaren Datei zu Punkt, und args
benötigen debug-brk=x
zeigte auf den Port angegeben in port
. Der Rest der oben genannten macht die Dinge nur schöner und einfacher.
Es liegt an Ihnen und Ihrem Team, ob Sie .vscode/launch.json
das Repository einrichten oder nicht. Es ist eine reine IDE-Datei, aber Ihr gesamtes Team könnte sie problemlos verwenden, da alle Pfade und Installationen relativ und explizit sind.
Tipp: Das package.json
kann ein scripts
Tag enthalten, das auch Mokka mit so etwas wie startet "test": "./node_modules/.bin/mocha"
, aber nicht von VS Code verwendet wird. Stattdessen wird es verwendet, wenn npm test
es über die Befehlszeile ausgeführt wird. Dieser verwirrte mich ein bisschen. Beachten Sie es hier, falls andere auch verwirrt werden.
BEARBEITEN: VS Code 1.9.0 hat in der Dropdown-Liste Debug-Konfiguration die Option "Konfiguration hinzufügen" hinzugefügt, und Sie können "Node.js Mocha Tests" auswählen, um die meisten der oben genannten Punkte zu vereinfachen. Sie müssen immer noch sicherstellen, dass sich Mokka in Ihrem befindet, node_modules
und möglicherweise das cwd
und das letzte runtimeArgs
(das Muster zum Auffinden Ihrer Tests) aktualisieren , um auf die entsprechenden Pfade zu verweisen. Aber sobald Sie diese beiden Eigenschaften festgelegt haben, sollte es von dort aus ziemlich gut funktionieren.
"args"
"--require", "${workspaceFolder}/tools/testSetup.js",