当尝试在 Jest 测试中使用 ES modules 时,你可能会遇到以下错误:
------------ ------ --- ------ --------- ------- - ------
这是因为 Jest 默认不支持 ES modules。然而,我们可以通过配置 Jest,让它支持 ES modules。
配置 Jest
首先,我们需要安装 @babel/preset-env
和 babel-jest
。
--- ------- ---------- ----------------- ----------
然后,在项目根目录创建一个 .babelrc
文件,内容如下:
- ---------- - --------------------- - ---------- - ------- ---- - -- - -
这将启用 @babel/preset-env
,并将其目标设置为 Node.js。
接下来,在 Jest 的配置文件 (jest.config.js
) 中,加入以下代码:
-------------- - - ---------- ---------- - ------------ ------------- -- --
指定 Jest 在处理 .js
文件时使用 babel-jest
进行转换。
现在,我们就可以在 Jest 测试中使用 ES modules 了。
示例
下面是一个使用 ES modules 的 Jest 测试示例。在这个例子中,我们将使用一个简单的 ES module,它定义了一个将两个数字相加的函数。
-- ------ ------ -------- ------ -- - ------ - - -- -
-- ----------- ------ - --- - ---- -------- -------- --- ---- -- -- - ------------- ------------ ---
现在,运行 Jest 测试。如果一切顺利,你应该会看到测试通过的消息。如果你仍然遇到报错,请确保你已按上述方式配置好 Jest。
总结
在 Jest 测试中使用 ES modules 可能会让你遇到困难。然而,通过简单的配置,你就可以让 Jest 支持 ES modules。这不仅可以帮助你编写更好的测试,也可以让你更有效地使用最新的 JavaScript 特性。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/647c9932968c7c53b0798845