You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 19:35:25