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,

23
demandé sur Shai M. 2015-05-19 16:59:22

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/**"
 ...
19
répondu Blaise 2016-01-28 09:10:51

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: []
14
répondu Rob Johansen 2016-10-05 21:32:41

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.

4
répondu JME 2015-06-07 22:01:24

Merci pour les suggestions,

C'était la solution:

istanbul cover -x '**/config/**'  _mocha -- --recursive -R tap test/ > test.tap && istanbul report clover
4
répondu Shai M. 2017-08-17 13:36:41