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

如何防止Jest将.eslintrc.js配置文件识别为测试文件执行?

解决Jest误识别测试目录下ESLint配置为测试文件的方案

你可以从两种思路解决这个问题,二选一即可:

  • 方案1:精准限定Jest的测试文件匹配规则
    修改根目录下的jest.config.js,明确指定Jest只匹配带.test.js/.spec.js后缀的文件,自动过滤掉配置类文件:
// jest.config.js
module.exports = {
  // 其余原有配置保留
  testMatch: ["**/__tests__/**/*.test.js", "**/?(*.)+(spec|test).[jt]s?(x)"]
}
  • 方案2:直接配置Jest忽略指定文件
    在jest.config.js中添加忽略规则,直接排除__tests__下的ESLint配置文件,也可以全局排除所有ESLint配置文件:
// jest.config.js
module.exports = {
  // 其余原有配置保留
  // 仅排除测试目录下的ESLint配置
  testPathIgnorePatterns: ["/node_modules/", "<rootDir>/__tests__/.eslintrc.js"]
  // 如需全局排除所有.eslintrc.js,可替换为:
  // testPathIgnorePatterns: ["/node_modules/", "\\.eslintrc\\.js$"]
}

如果不想维护两层ESLint配置,也可以直接调整根ESLint配置的规则,从根源避免测试目录下存在额外配置文件:
修改根目录的.eslintrc.js,新增overrides字段,指定仅对测试文件生效的Jest规则:

// .eslintrc.js
module.exports = {
  // 其余原有配置保留
  overrides: [
    {
      files: ["**/__tests__/**/*.js", "**/*.test.js"],
      plugins: ["jest"],
      extends: ["plugin:jest/recommended"],
      rules: {
        // 自定义Jest专属校验规则
      }
    }
  ]
}

配置完成后可以执行jest --listTests命令验证,若输出列表中没有__tests__/.eslintrc.js则代表配置生效。

内容的提问来源于stack exchange,提问作者Ben Blank

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 02:06:03