web-dev-qa-db-fra.com

angular cli exclure les fichiers / répertoire pour `ng test --code-coverage`

J'exécute la commande suivante pour effectuer des tests unitaires et générer un rapport de couverture de code de code.

ng test --code-coverage

Il fonctionne correctement et écrit un rapport de couverture de code dans le dossier coverage.

J'ai reçu tous les fichiers et le rapport de couverture du répertoire

enter image description here

Mais je veux exclure des fichiers/répertoires spécifiques, disons src/app/quote/services/generated. Comment faire ça?

19
Partha Sarathi Ghosh

Mise à jour septembre 2019

On angular cli 6, angular-cli.json a été renommé angular.json qui contient la configuration. Dans angular.json, codeCoverage attend une valeur booléenne, qui définit si la couverture du code doit être effectuée à chaque exécution de test ou non. Pour exclure les fichiers de la couverture de code, il existe une propriété codeCoverageExclude qui accepte un tableau de fichiers à exclure de la couverture de code.

angular.json

"test": {
  "codeCoverageExclude": ["src/assets/vendor/**"],,
  ...
}

Réponse mise à jour

rc.0 est sorti. Vous devriez pouvoir ajouter l'extrait de code ci-dessous pour ignorer les fichiers.

Réponse originale

Actuellement, vous ne pouvez pas le faire dans beta.32.3. Un changement arrive pour permettre que cela se produise. Dans la prochaine version (probablement rc.0), vous pourrez effectuer les opérations suivantes:

.angular-cli.json

"test": {
  "codeCoverage": {
    "exclude": [
      "src/app/quote/services/generated/**/*"
    ]
  },
  ...
}
25
delasteve

Avec la dernière CLI, dans angular.json

  "test": {
          "builder": "@angular-devkit/build-angular:karma",
          "options": {
            "main": "src/test.ts",
            "polyfills": "src/polyfills.ts",
            "tsConfig": "src/tsconfig.spec.json",
            "karmaConfig": "./karma.conf.js",
            "codeCoverageExclude": ["src/testing/**/*"],
41
Greg