web-dev-qa-db-fra.com

Couverture de code pour angular 2

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.

8
Abhi

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:

 console view of tests coverage

si vous souhaitez voir la couverture individuelle des tests du composant, suivez ces étapes.

  1. npm install --save-dev karma-teamcity-reporter

  2. Ajoutez require('karma-teamcity-reporter') à la liste des plugins dans karma.conf.js

  3. 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.

 enter image description here

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
      }
    },
18
ahmadalibaloch

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:

 enter image description here

J'ai écrit un article sur ce blog ici .

2
Jason Swett

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.

1
maia
ng test --code-coverage 

ou

ng test --code-coverage --reporters=teamcity,coverage-istanbul
0
Praneeth Reddy