在 Jest 测试中使用 ES modules 的报错

阅读时长 2 分钟读完

当尝试在 Jest 测试中使用 ES modules 时,你可能会遇到以下错误:

这是因为 Jest 默认不支持 ES modules。然而,我们可以通过配置 Jest,让它支持 ES modules。

配置 Jest

首先,我们需要安装 @babel/preset-envbabel-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

纠错
反馈