Exclure les fichiers de la couverture lors de L'utilisation de Mocha et Istanbul
Comment puis-je exclure les dossiers et les fichiers (par chemin) du rapport de couverture lors de l'utilisation de mocha et instanbul?
Je veux exclure par une configuration et pas
/*istanbul ignore next*/
Dans chaque fichier.
(Utilisation du rapport généré par Jenkins)
Merci,
4 réponses
Vous pouvez ignorer les fichiers correspondant à un certain modèle en utilisant le paramètre -x
.
istanbul help cover
...
-x <exclude-pattern> [-x <exclude-pattern>]
one or more fileset patterns e.g. "**/vendor/**"
...
Si vous exécutez istanbul help config
vous verrez la configuration par défaut d'istanbul. Vous pouvez copier / coller la configuration par défaut dans un fichier .istanbul.yml
à la racine de votre arborescence source, puis y stocker les exclusions.
Voici à quoi ressemble le mien (cela facilite l'exclusion de nombreux répertoires):
verbose: false
instrumentation:
root: .
extensions:
- .js
default-excludes: true
excludes: ['**/tinymce/**', '**/lib/**', '**/tools/**', '**/build/**']
embed-source: false
variable: __coverage__
compact: true
preserve-comments: false
complete-copy: false
save-baseline: false
baseline-file: ./coverage/coverage-baseline.json
include-all-sources: true
include-pid: false
es-modules: false
reporting:
print: summary
reports:
- lcov
dir: ./tools/coverage
watermarks:
statements: [50, 80]
lines: [50, 80]
functions: [50, 80]
branches: [50, 80]
report-config:
clover: {file: clover.xml}
cobertura: {file: cobertura-coverage.xml}
json: {file: coverage-final.json}
json-summary: {file: coverage-summary.json}
lcovonly: {file: lcov.info}
teamcity: {file: null, blockName: Code Coverage Summary}
text: {file: null, maxCols: 0}
text-lcov: {file: lcov.info}
text-summary: {file: null}
hooks:
hook-run-in-context: false
post-require-hook: null
handle-sigint: false
check:
global:
statements: 0
lines: 0
branches: 0
functions: 0
excludes: []
each:
statements: 0
lines: 0
branches: 0
functions: 0
excludes: []
Je votre cas, j'utiliserais ce qui suit:
istanbul -x "**/pattern/to/exclude/**" cover _mocha -- --recursive -R tap test/ > test.tap && istanbul report clover – snoof 9 hours ago
Vous pouvez exclure plusieurs motifs simplement en ajoutant plusieurs options -x
.
Merci pour les suggestions,
C'était la solution:
istanbul cover -x '**/config/**' _mocha -- --recursive -R tap test/ > test.tap && istanbul report clover