在使用 Jest 测试框架时,有时可能会遇到类似以下错误:
------ ---- ------ ---------
该错误发生的原因是 Jest 的默认配置中并没有包含对 core-js
模块的引用,而大多数项目中都使用了 core-js
来提供 ES6 或 ES7 中缺失的 API 支持。
那么,我们该如何解决这个问题呢?下面是几种可能的解决方法:
方法一:手动安装 core-js
在项目根目录下执行以下命令:
--- ------- ------ -------
然后,我们可以在测试文件的开头添加以下代码:
------ ----------------- ------ ------------------------------
这样就可以正确地引入 core-js
了。
方法二:修改 Jest 配置文件
Jest 默认的配置文件名为 jest.config.js
,如果你的项目中没有这个文件,可以手动创建一个。
然后,在该文件中添加以下配置:
-------------- - - ----------- ------------------ ------------------------------- --
这样就可以让 Jest 在运行测试之前自动引入 core-js
了。
方法三:配置 Babel
我们可以使用 Babel 来自动引入 core-js
。
首先,我们需要安装 @babel/preset-env
:
--- ------- ---------- -----------------
然后,在项目根目录下创建 .babelrc
文件,并添加以下配置:
- ---------- - - -------------------- - -------------- -------- --------- - - - - -
其中,useBuiltIns
的取值为 usage
,表示只在必要时引入 polyfill,corejs
的取值为 3
,表示使用 core-js@3
。
最后,在测试文件的开头添加以下代码:
------ ----------
这样就可以自动引入 core-js
了。
总结
以上就是几种解决 Jest 运行时报错的方法,我们可以根据实际情况选择其中一种,并进行相应的配置。
如果你对 Jest 还不熟悉,建议先学习一下 Jest 的基本用法和常用配置。
示例代码:
------ ----------------- ------ ------------------------------ ---------------- -- -- - ---------- -- -- - -------- - ----------- --- ---
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/664e9a42d3423812e4efb7e8