【发布时间】:2021-01-04 01:07:10
【问题描述】:
Hej,我正在尝试用一些图书馆开玩笑。但是当我尝试测试库时,我不断收到SyntaxError: Unexpected token export 错误。似乎他没有编译 node_modules,但我在 transformIgnorePatterns 设置中排除了它。我真的不知道该怎么做,我很难设置它。我没有使用 React 或 Vue 或其他东西。
我的 package.json
{
"dependencies": {
"MY-MODULE": "latest"
},
"devDependencies": {
"@babel/core": "^7.3.4",
"@babel/plugin-transform-modules-commonjs": "^7.2.0",
"@babel/preset-env": "^7.3.4",
"babel-jest": "^24.3.1",
"jest": "^24.3.1"
},
"babel": {
"presets": [
[ "@babel/preset-env" ]
],
"plugins": [
"@babel/plugin-transform-modules-commonjs"
]
},
"jest": {
"moduleFileExtensions": [ "js", "json" ],
"transform": {
"^.+\\.jsx?$": "babel-jest"
},
"transformIgnorePatterns": [
"/node_modules/(?!MY-MODULE)"
]
}
}
我的测试用例是这样的:
import { Test } from '../../src/Test';
describe('Test', () => {
it('should work', () => {
const test = new Test();
expected(test).toBeDefined();
});
});
我的 Test.js 是这样的:
import MyModule from 'MY-MODULE';
export class Test extends MyModule { }
【问题讨论】:
-
您是否按照github.com/facebook/jest/tree/master/packages/babel-jest 上的设置进行操作?请分享您的
jest.config.js和.babelrc/babel.config.js -
我的
.babelrc和我的jest.config.js都在我的package.json中 -
尝试使用 Jest 23。Jest 24 将用于文件/glob 匹配的处理器更改为微匹配 3。这破坏了我在 Jest.transform 中的很多正则表达式
-
感谢您的提示!我已经将它降级为 23 并且它引发了另一个问题:
Requires Babel "^7.0.0-0", but was loaded with "6.26.3".感觉好像还不支持 babel 7。
标签: javascript jestjs babeljs