jestjs - 用于修复“Jest 遇到意外令牌”以进行导入/导出的 Jest 配置
问题描述
我想用 Jest 运行以下测试。我还没有 babel-config 或 jest-config。如何配置 jest 以使用 ES6 功能,如导入/导出?
index.js:
export const add = (a, b) => a + b;
index.test.js
import { add } from '.';
describe('add', () => {
it('adds a + b', () => {
expect(add(1, 2)).toBe(3);
});
});
解决方案
原来它的工作原理就像文档中描述的那样:https ://jestjs.io/docs/en/getting-started#using-babel
要使用 Babel,请通过 yarn 安装所需的依赖项:
yarn add --dev babel-jest @babel/core @babel/preset-env
通过在项目的根目录中创建一个 babel.config.js 文件来配置 Babel 以针对当前版本的 Node:
// babel.config.js module.exports = { presets: [ [ '@babel/preset-env', { targets: { node: 'current', }, }, ], ], };
注意: Jest 需要与 babel-jest 包具有相同的主要版本。我有 Jest v23 和 babel-jest v24,它们会导致错误消息的误导。
推荐阅读
- javascript - 使用网格布局 - HTML 水平均匀定位框
- asp.net-mvc-5 - 使用 grid.Mvc6 创建 gridview 时显示错误
- php - 在 WooCommerce 产品类别中包含静态页面
- pytorch - cuDNN 错误:CUDNN_STATUS_BAD_PARAM。有人可以解释为什么我会收到此错误以及如何纠正它?
- android - React 本机应用程序以接收来自 youtube 等应用程序的共享链接
- hybris - Hybris OOB代码开发中如何访问OOB代码
- c++ - C++ 正则表达式帮助创建用于替换字母之间特殊字符的代码(所有字母,但不是最后一个)
- android - 无法在 Network Profiler 的连接视图中选择时间线
- google-bigquery - 在 bigquery 中加入具有相同架构的两个表
- java - 使用 OSGi 的 JavaFX 自定义事件