在使用摩卡和伊斯坦布尔时不包括覆盖范围内的文件
如何使用摩卡和instanbul从覆盖率报告中排除文件夹和文件(按path)?
我想排除一个configuration,而不是
/*istanbul ignore next*/
在每个文件中。
(Jenkins生成的报告使用)
谢谢,
您可以使用-x
参数忽略与特定模式匹配的文件。
istanbul help cover ... -x <exclude-pattern> [-x <exclude-pattern>] one or more fileset patterns eg "**/vendor/**" ...
如果你运行istanbul help config
你会看到istanbul的默认configuration。 您可以将默认configuration复制/粘贴到源树的根目录中的.istanbul.yml
文件中,然后将排除项存储在其中。
这就是我的样子(这可以很容易地排除许多目录):
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: []
我你的情况我会使用以下内容:
istanbul -x "**/pattern/to/exclude/**" cover _mocha -- --recursive -R tap test/ > test.tap && istanbul report clover – snoof 9 hours ago
您可以通过添加多个-x
选项来排除多个模式。
感谢您的build议,
这是解决scheme:
istanbul cover -x '**/config/**' _mocha -- --recursive -R tap test/ > test.tap && istanbul report clover