Jest快照测试初始化报错:SyntaxError: Unexpected token '.'
解决Jest运行时的SyntaxError: Unexpected token '.'问题
问题原因
你遇到的错误是因为当前使用的Node.js版本不支持可选链操作符(?.),而Jest 29.x版本的代码中已经使用了这个ES2020特性。Jest 29的官方要求是Node.js版本至少为14.15.0、16.x或更高。
解决方案
1. 升级Node.js版本(推荐)
先检查当前Node.js版本:
node -v
如果版本低于14.15.0,直接升级到16.x或18.x LTS版本即可解决该问题。
2. 降级Jest版本(临时方案)
如果暂时无法升级Node.js,可以将Jest降级到27.x版本(该版本兼容更低的Node.js版本),同时同步调整ts-jest版本以匹配:
npm install jest@^27.5.1 ts-jest@^27.1.4 react-test-renderer@^18.2.0 --save-dev
验证测试
修改完成后,重新运行测试命令:
npm test
你的快照测试代码本身没有问题,版本兼容后即可正常执行。
内容的提问来源于stack exchange,提问作者illia_6655321
相关产品推荐
相关产品推荐

