如何在Jest测试报告中排除覆盖率为0%的文件?
解决Jest统计TypeScript覆盖率时忽略指定文件的方法
以下几种方式可以帮你排除那些不想纳入覆盖率统计的文件:
通过配置文件忽略指定路径
在你的jest.config.ts(或jest.config.js)中添加coveragePathIgnorePatterns选项,直接指定要排除的文件/目录匹配规则:export default { // 其他配置... coveragePathIgnorePatterns: [ "/node_modules/", "\\.d\\.ts$", // 忽略类型定义文件 "src/utils/legacy/", // 忽略某个目录下的所有文件 "src/constants/config.ts" // 忽略单个文件 ] };这里的匹配规则采用正则表达式,可根据项目文件结构灵活调整。
精确指定需要统计覆盖率的文件
反过来,用collectCoverageFrom配置只包含你想要统计的文件,未被包含的文件自然不会出现在覆盖率报告里:export default { // 其他配置... collectCoverageFrom: [ "src/**/*.ts", // 包含src下所有ts文件 "!src/**/*.d.ts", // 排除类型定义文件 "!src/utils/legacy/**/*", // 排除legacy目录下所有文件 "!src/**/*mock*.ts" // 排除所有mock文件 ] };命令行临时忽略
如果只是临时需要排除某些文件,无需修改配置文件,可以在运行jest时添加--coveragePathIgnorePatterns参数:jest --coverage --coveragePathIgnorePatterns="src/utils/legacy/*" --coveragePathIgnorePatterns="\\.d\\.ts$"
注意:配置中的路径匹配要和项目文件结构对应,确保正则表达式能准确匹配到目标文件。
内容的提问来源于stack exchange,提问作者qasim butt
相关产品推荐
相关产品推荐

