Excluding files from coverage when using Mocha and Istanbul Excluding files from coverage when using Mocha and Istanbul jenkins jenkins

Excluding files from coverage when using Mocha and Istanbul


You can ignore files matching a certain pattern using the -x parameter.

 istanbul help cover ... -x <exclude-pattern> [-x <exclude-pattern>]        one or more fileset patterns e.g. "**/vendor/**" ...


If you run istanbul help config you'll see istanbul's default configuration. You can copy/paste the default config into a .istanbul.yml file at the root of your source tree, then store the exclusions in it.

Here's what mine looks like (this makes it easy to exclude many directories):

verbose: falseinstrumentation:    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: falsereporting:    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: falsecheck:    global:        statements: 0        lines: 0        branches: 0        functions: 0        excludes: []    each:        statements: 0        lines: 0        branches: 0        functions: 0        excludes: []


I your case I would use the following:

istanbul -x "**/pattern/to/exclude/**" cover _mocha -- --recursive -R tap test/ > test.tap && istanbul report clover –  snoof 9 hours ago 

You can exclude multiple patterns just by adding multiple -x options.