如何配置Jest --coverage忽略仅重导出的index.jsx文件?
如何让Jest忽略仅作重导出的index.jsx文件?
我之前也碰到过这种闹心的情况——那些只负责中转导出的index文件,完全没有业务逻辑,却被算进覆盖率报告里,平白拉低了整体覆盖率。给你两个实用的解决办法:
方法一:全局配置忽略目标文件
直接在Jest的配置里指定要忽略的文件路径,这样所有匹配的文件都会被排除在覆盖率统计外:
如果你的项目用的是单独的jest.config.js配置文件,修改它:
module.exports = { // 其他已有的配置项... coveragePathIgnorePatterns: [ '/fields/index.jsx' // 精准匹配你要忽略的文件 ] };
要是你习惯在package.json里写Jest配置,就这么加:
{ "jest": { // 其他配置... "coveragePathIgnorePatterns": [ "/fields/index.jsx" ] } }
如果需要更灵活的匹配(比如要忽略所有目录下的这类中转index文件),可以用正则表达式,比如/.*\/index\.jsx$/。
方法二:给单个文件添加忽略注释
如果你只想跳过这一个文件,不想改动全局配置,直接在/fields/index.jsx的最顶部加一行注释就行:
/* istanbul ignore file */ // 你的重导出代码 export { default as Text } from './text'; export { default as Radio } from './radio'; export { default as Checkbox } from './checkbox';
这个注释是给Jest底层的覆盖率工具Istanbul看的,它会直接跳过这个文件的覆盖率统计,简单高效。
内容的提问来源于stack exchange,提问作者dsa
相关产品推荐
相关产品推荐

