使用nyc(istanbul)时部分文件未被代码覆盖率统计求助
解决nyc覆盖率报告遗漏带TypeScript类型文件的问题
检查nyc的包含/排除规则
确认你的.nycrc或者package.json里的nyc配置中,include有没有覆盖到这些缺失文件的路径(比如文件在src/utils/下,要写"include": ["src/**/*.ts"]),同时排查exclude里是否误把这些文件排除在外。配置nyc适配TypeScript
仅加--all=true不足以处理TS文件,需要专门的TS配置支持。先安装@istanbuljs/nyc-config-typescript,然后在nyc配置里继承该规则:{ "nyc": { "extends": "@istanbuljs/nyc-config-typescript", "all": true, "include": ["src/**/*.ts"] } }清理nyc缓存
缓存可能导致新配置不生效,先运行npx nyc --clean清空缓存,再重新执行你的test-cov脚本。检查tsconfig配置
确保tsconfig.json里的include包含了这些缺失文件,且exclude没有将它们排除。如果TS编译阶段跳过了这些文件,nyc基于编译产物统计时自然不会纳入报告。明确指定nyc覆盖范围
在test-cov脚本里直接追加--include参数,比如:"scripts": { "test-cov": "nyc --all=true --include 'src/**/*.ts' mocha" }把示例里的
mocha替换成你实际使用的测试框架即可。
内容的提问来源于stack exchange,提问作者user19961055
相关产品推荐
相关产品推荐

