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

Jest --findRelatedTests在lint-staged中运行所有测试的问题排查

问题分析与解决

你的配置核心问题出在lint-staged版本过旧(v8.1.0),这个版本不会自动把暂存的文件路径传递给后续命令,导致jest --findRelatedTests没有收到具体的文件参数,jest就默认执行了所有测试用例。

两种解决办法

1. 升级lint-staged(推荐)

lint-staged从v9版本开始,会自动将匹配到的暂存文件作为参数传递给命令。你可以升级到较新的稳定版本:

npm install lint-staged@latest --save-dev

升级后不需要修改现有配置,jest --findRelatedTests会自动接收暂存的ts/tsx文件路径,只运行关联测试。

2. 旧版本兼容写法(仅临时过渡)

如果暂时不能升级,需要在命令里手动添加{stagedFiles}占位符,让lint-staged把文件路径传进去:

"lint-staged": {
  "*.{json,scss,md}": [
    "prettier --write",
    "git add"
  ],
  "*.{ts,tsx}": [
    "eslint --quiet",
    "prettier --write",
    "jest --findRelatedTests {stagedFiles}",
    "git add"
  ]
}

额外提醒:你的husky版本也比较老(v1.3.1),如果升级lint-staged后出现钩子不触发的问题,建议同步升级husky到v4+或v8+,避免版本兼容问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 19:56:08