Comment déboguer Karma tests de Code de Visual Studio?
Je veux debug Karma tests VS Code mais je n'ai pas trouvé comment. Est-il possible de le faire ou devrai-je utiliser un autre IDE (WebStorm)?
- cette blog me va
Vous devez vous connecter pour publier un commentaire.
Essayer
Vous pouvez déboguer Karma par attacher le débogueur à un Chrome instance. Vous souhaitez configurer votre
launch.json
config à quelque chose comme ceci:Mais vous devez également régler votre
karma.conf.js config
, de sorte qu'il lance Chrome exemple avec les outils de dev à l'écoute de9333
port, comme suit:Avec une telle configuration, vous pouvez simplement exécuter votre karma serveur (avec capturé navigateur), puis démarrer le débogage dans visual studio.
Si vous désirez obtenir plus de détails, j'ai fait un tutoriel sur la débogage Karma avec le Code de Visual Studio.
"Breakpoint ignored because generated code not found (source map problem?)"
. Mais à partirkarma
avec le--auto-watch
drapeau m'a aidé...Angulaire à l'aide de la CLI 1.7.4: Avec les étapes suivantes, j'ai été en mesure de déboguer un hello world Angulaire de l'application avec le Code de Visual Studio:
Générer une nouvelle HelloWorld projet:
ng new HelloWorld
Ouvrez le projet dans Visual Studio Code
code HelloWorld
Créer une nouvelle configuration de Débogage:
Un
.vscode/launch.json
fichier est généré. Remplacez son contenu par le suivant:Ouvrir
karma.conf.js
et effectuer la modification suivante:Ouvrir un terminal et de commencer karma tests:
ng test
Ouvrir
app.component.spec.ts
et définir un point de rupture:Sélectionnez "Karma " Tests" dans le menu debug:
Appuyez sur
F5
pour démarrer le débogage. VSCode doit s'arrêter au point d'arrêt:Voici une configuration plus simple (en
launch.json
):Important:
webRoot
dans le dossier où le Karma est au service de vos tests.url
en conséquence.Cette configuration est plus simple pour un certain nombre de raisons:
singleRun: false
. Vous pouvez même définirbrowsers: []
, depuis VS Code lancer son propre navigateur (dans headless mode, donc vous ne le verrez pas).preLaunchTask
qui commence Karma automatiquement. Vous aurez besoin de le configurer comme un en tâche de fond.Can't find a valid target that matches: about:blank.
Pourquoi..?Pour n'importe qui qui suis ici à la recherche angulaire de débogage karma tests - voir le vscode-recette de microsoft.
J'ai suivi @Awsed excellente explication [Merci!] et a été en mesure d'obtenir les choses de travail, avec un couple de notables mises en garde:
Il semble y avoir un bug dans VSCode qui a du mal à suivre le point d'arrêt des lignes dans les fichiers de spec. Je n'étais pas frapper mon point d'arrêt, même après l'installation correcte parce que VSCode semble être confus au sujet de ce ligne le point d'arrêt est sur, surtout si vous modifiez le code. Je n'ai trouvé aucun remède pour cela (même après deux redémarrages et redémarrage VSCode plusieurs fois). Je n'ai pu découvrir en allant à un fichier de test qui n'avait pas été changé depuis un certain temps et a réussi à frapper un point d'arrêt. Alors j'ai déplacé le point d'arrêt de différents endroits dans la page sur le fichier, j'ai été d'avoir des problèmes avec, et a été en mesure de trouver un endroit où il serait (enfin) sur le point d'arrêt.
En outre, je ne vous recommandons pas d'utiliser Chrome sans tête, comme le bouton "arrêter" ne pas tuer le processus et vous ne pouvez pas le trouver dans le gestionnaire des tâches, car il est décapité -- vous devez utiliser une commande pour le tuer à la place (par exemple https://superuser.com/questions/1288388/how-can-i-kill-all-headless-chrome-instances-from-the-command-line-on-windows ); si vous ne le faites pas, vous ne serez pas en mesure de l'exécuter à nouveau.