如何通过Jest收集.es扩展名文件的代码覆盖率报告?
解决Jest无法为.es扩展名文件生成代码覆盖率的问题
以下是针对性的配置调整方案,按步骤检查修改你的jest.config.js:
让Jest识别.es模块文件
在moduleFileExtensions数组中添加'es',确保Jest将.es文件视为合法模块:module.exports = { moduleFileExtensions: ['js', 'es', 'json'], // 其他已有配置... };配置转换器处理.es文件语法
如果你的.es文件使用ES6+语法,需要让babel-jest(或你使用的转换器)覆盖.es文件的转换:module.exports = { transform: { '^.+\\.(js|es)$': 'babel-jest', }, // 其他已有配置... };同时确认你的Babel配置文件(
.babelrc或babel.config.js)能正确编译你的ES代码。检查覆盖率排除规则
确保coveragePathIgnorePatterns没有错误排除.es源文件,仅排除测试文件和依赖即可:module.exports = { coveragePathIgnorePatterns: [ '/node_modules/', '\\.test\\.(js|es)$', ], // 其他已有配置... };强制指定覆盖率收集范围(可选)
如果以上配置仍不生效,直接用collectCoverageFrom明确指定要统计的文件:module.exports = { collectCoverageFrom: [ '**/*.{js,es}', '!**/*.test.{js,es}', '!**/node_modules/**', ], // 其他已有配置... };验证运行命令
确保使用jest --coverage命令启动测试,而非仅执行测试命令。如果指定了测试文件路径,要保证对应的.es源文件在Jest的扫描范围内。
内容的提问来源于stack exchange,提问作者Deep Shah
相关产品推荐
相关产品推荐

