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

Create React App集成Jest测试失败:测试套件无法运行(意外令牌)

问题分析与解决方案

兄弟,你这个问题的根源其实很明确——Create React App(CRA)本身已经把Jest的全套配置通过react-scripts test封装好了,你直接把test脚本改成jest,等于跳过了CRA预设的所有Babel转换规则、测试环境适配,Jest自然识别不了React的JSX语法或者ES6+特性,才会抛出Unexpected token错误。

下面给你两个解决方案,优先推荐第一个:

方案一:改回CRA默认的测试命令(最省心)

CRA已经帮你把Jest的所有配置都打理好了,直接用它提供的命令就行:
把package.json里的test脚本改回:

"test": "react-scripts test"

之后重新运行yarn test,测试应该就能正常执行了。

方案二:强行用原生Jest命令(不推荐,需手动补配置)

如果你非要自己用jest命令跑测试,得手动补上Babel配置让Jest能处理React代码:

  1. 在项目根目录新建.babelrc文件,写入以下内容:
{
  "presets": ["react-app"]
}
  1. 安装CRA封装好的Babel预设依赖(因为这些依赖原本藏在react-scripts里,直接用Jest的话需要单独安装):
yarn add --dev babel-preset-react-app
  1. 现在再运行yarn test,应该就能识别JSX语法,正常执行测试了。

额外提醒

方案二虽然能解决问题,但会让你失去CRA自带的很多便利:比如自动开启的watch模式、测试覆盖率统计、预设的测试环境变量等等,后续维护配置也会更麻烦,所以除非有特殊需求,优先用方案一就好。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 12:20:53