如何在Mocha和nyc中将文件排除出覆盖率报告
彻底排除指定文件出nyc覆盖率报告的方法
精准配置exclude规则
确保路径匹配完全正确,相对路径以项目根目录为基准。比如要排除src/utils/ignore-me.js,直接在package.json的nyc字段里指定:{ "nyc": { "exclude": [ "src/utils/ignore-me.js", "**/*.test.js" // 可同时排除其他不需要的文件,比如测试文件 ] } }通配符
**表示任意子目录,可用来批量排除某类文件,比如**/mock/**排除所有mock目录下的文件。开启excludeAfterRemap
如果项目使用了源码映射(source maps),普通exclude规则可能不生效。需要在nyc配置中添加excludeAfterRemap: true,让nyc在映射源码后再执行排除:{ "nyc": { "exclude": [ "src/utils/ignore-me.js" ], "excludeAfterRemap": true } }正确使用命令行参数
命令行中要用--exclude而非--ignore,比如在package.json的scripts里配置:{ "scripts": { "test:coverage": "nyc --exclude 'src/utils/ignore-me.js' mocha" } }注意如果是Windows环境,可能需要去掉引号,或者调整为双引号。
清除nyc缓存
旧的缓存数据可能导致排除规则不生效,执行以下命令清空缓存后重新生成报告:npx nyc clean npm run test:coverage
内容的提问来源于stack exchange,提问作者ABGR
相关产品推荐
相关产品推荐

