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
devDependencyin packages.json:"devDependencies": { "mocha": "^3.2", ... }
- Exécutez
npm installdans le répertoire de votre package.jsonpour 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 argsport 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 programpour pointer vers l'exécutable et d' argsavoir 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.jsonpeut inclure une scriptsbalise 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_moduleset vous devrez peut-être mettre à jour le cwdet 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",