Comment trouvez-vous la couverture de code pour le code angulaire 2? Existe-t-il des plugins pour l'éditeur de code ou le webstorm que je puisse utiliser? J'utilise Jasmine et Karma pour tester un peu mon code.
Si vous voulez voir les statistiques de couverture de test globales que bien sûr dans la CLI angulaire, vous pouvez simplement taper et voir le bas de la fenêtre Invite de commande
ng test --cc // or --code-coverage
résultat:
si vous souhaitez voir la couverture individuelle des tests du composant, suivez ces étapes.
npm install --save-dev karma-teamcity-reporter
Ajoutez require('karma-teamcity-reporter')
à la liste des plugins dans karma.conf.js
ng test --code-coverage --reporters=teamcity,coverage-istanbul
notez que la liste des journalistes est séparée par des virgules, car nous avons ajouté un nouveau journaliste, teamcity.
après avoir exécuté cette commande, vous pouvez voir le dossier coverage
dans votre répertoire et ouvrir index.html
pour obtenir une vue graphique de la couverture de test.
Vous pouvez également définir le seuil de couverture que vous souhaitez atteindre, dans karma.conf.js
, comme ceci.
coverageIstanbulReporter: {
reports: ['html', 'lcovonly'],
fixWebpackSourcePaths: true,
thresholds: {
statements: 90,
lines: 90,
branches: 90,
functions: 90
}
},
Commencez par installer les dépendances.
npm install karma karma-jasmine karma-chrome-launcher karma-jasmine-html-reporter karma-coverage-istanbul-reporter
Puis lancez ng test.
ng test --code-coverage
Ensuite, exécutez le serveur qui vous montre votre rapport.
http-server -c-1 -o -p 9875 ./coverage
Vous devriez voir quelque chose comme ça:
J'ai écrit un article sur ce blog ici .
J'ai eu du mal avec celui-ci. La solution que j'ai trouvée était
ng test --code-coverage
Mais assurez-vous que dans votre fichier karma.conf.js, vous avez un journaliste spécifié (j'utilise 'couverture-istanbul')
par exemple. reporters: ['coverage-istanbul']
Le rapport de couverture sera dans un répertoire appelé «couverture» dans votre répertoire racine.
ng test --code-coverage
ou
ng test --code-coverage --reporters=teamcity,coverage-istanbul