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

Jest单元测试报错‘No tests found’,寻求解决方案

解决Jest「No tests found」错误的实用方案

嗨,咱们来一步步排查你遇到的这个问题。从你给出的错误日志来看,核心问题是:Jest的默认匹配规则(testMatch)找到了3条符合的规则,但最终没匹配到任何测试文件。下面是几个最常见的排查和解决方向:

1. 先检查测试文件的命名&存放位置

Jest默认认两种测试文件:

  • 放在__tests__文件夹下的所有.js/.jsx文件
  • 文件名带.test.js或.spec.js(包括.jsx)的文件,不管放在哪个文件夹

你先核对下自己的测试文件:是不是没放在__tests__里,而且文件名也没带test/spec后缀?比如如果你的测试文件叫utils.js,Jest肯定找不到它,得改成utils.test.js或者移到__tests__文件夹里才行。

2. 直接指定测试文件路径跑测试

如果不确定是不是命名的问题,可以先直接指定测试文件路径来运行,验证Jest能不能识别到它:

yarn test ./你的测试文件路径/xxx.test.js

如果这样能正常跑通,那就是默认的匹配规则没覆盖到你的文件,接下来可以自定义配置。

3. 在package.json里自定义Jest匹配规则

如果你的测试文件的命名/位置比较特殊(比如都放在tests文件夹里,后缀是.spec.js),可以在package.json里添加Jest配置,修改testMatch来适配你的文件:

{
  "jest": {
    "testMatch": [
      "**/tests/**/*.spec.js?(x)",
      "**/?(*.)(spec|test).js?(x)"
    ]
  }
}

修改完之后再运行yarn test试试。

4. 排查是否误排除了测试文件

错误日志里显示testPathIgnorePatterns: \\node_modules\\ - 4 matches,这个是正常的——Jest默认会排除node_modules文件夹。但如果你之前在配置里加了其他排除规则,导致测试文件被误排除了,也会出现这个错误。你可以检查下package.json里的Jest配置有没有额外的testPathIgnorePatterns项。

5. 适配Windows系统的路径问题

你用的是Windows 7,有时候路径分隔符(\和/)可能会影响Jest的匹配。可以试试把测试文件的路径用相对路径写,或者在Jest配置里把路径规则写成兼容Windows的格式(比如用双反斜杠或者正斜杠)。

另外,你当前的Node版本是v8.6,建议安装适配这个版本的Jest版本(比如Jest 24.x系列,它支持Node 8),可以运行下面的命令升级:

yarn add jest@24 --dev

你可以先从第一步开始排查,这是最常见的原因~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:24:32