Désolé d'avoir ajouté une autre réponse, mais aucune des précédentes n'a vraiment fonctionné pour moi à partir de VS Code 1.8.1 et du débogueur de nœud standard inclus. Voici la façon dont je l'ai résolu (avec les conseils des réponses précédentes ici et des documents de débogage officiels de VS Code Node.js ), il y a donc un débogage en un clic / pression sur une touche:
- Assurez-vous que mocha est installé en tant que
devDependency
in packages.json
:"devDependencies": { "mocha": "^3.2", ... }
- Exécutez
npm install
dans le répertoire de votre package.json
pour vous assurer que mocha est maintenant installé dansnode_modules/
- Ouvrez
.vscode/launch.json
(ou dans VS Code, appuyez sur F1, commencez à taper «lancer» et sélectionnez «Déboguer: Ouvrir launch.json»)
- Cliquez sur le bouton bleu "Ajouter une configuration" en bas à droite (ou copiez et collez simplement l'un de vos autres); cette étape est facultative ... je veux dire, vous pouvez réutiliser une configuration existante. Mais je suggère d'en ajouter un pour éviter toute confusion.
- Modifiez les éléments suivants dans votre
launch.json
, puis choisissez le nouveau nom de configuration dans la fenêtre de débogage de VS Code et cliquez sur la flèche verte pour commencer le débogage de votre nœud + tests mocha!
Dans la nouvelle configuration de 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
}, ...]
Cela suppose le modèle test/**/*.js
fonctionnera là où vous placez vos tests. Modifiez le cas échéant.
N'hésitez pas à changer de port tant que vous le changez dans les deux args
port
propriétés et pour correspondre.
La principale différence pour moi était de s'assurer que mocha était présent node_modules
, d'utiliser program
pour pointer vers l'exécutable et d' args
avoir besoindebug-brk=x
pointer vers le port spécifié dans port
. Le reste de ce qui précède rend les choses plus jolies et plus faciles.
C'est à vous et à votre équipe si vous mettez .vscode/launch.json
le référentiel ou non. C'est un fichier uniquement IDE, mais toute votre équipe pourrait l'utiliser comme ça, pas de problème, car tous les chemins et installations sont relatifs et explicites.
Astuce: Le package.json
peut inclure une scripts
balise qui lance également mocha avec quelque chose comme "test": "./node_modules/.bin/mocha"
, mais il n'est pas utilisé par VS Code - à la place, il est utilisé lorsquenpm test
est exécuté sur la ligne de commande. Celui-ci m'a un peu dérouté. Notez-le ici au cas où les autres seraient également confus.
EDIT: VS Code 1.9.0 a ajouté une option "Ajouter une configuration" dans la liste déroulante de configuration de débogage, et vous pouvez choisir "Tests Mocha Node.js" qui aident à simplifier la plupart de ce qui précède. Vous devez toujours vous assurer que mocha est dans votre node_modules
et vous devrez peut-être mettre à jour le cwd
et le dernier runtimeArgs
(qui est le modèle pour trouver vos tests) pour pointer vers les chemins appropriés. Mais une fois que vous avez défini ces deux propriétés, cela devrait fonctionner à peu près à partir de là.
"args"
bloc:"--require", "${workspaceFolder}/tools/testSetup.js",