当我运行测试时,我收到以下错误:
({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,global,jest){import React from 'react';
^^^^^^
SyntaxError: Unexpected token import
这是有道理的,因为所有“import React”或“import Enzyme”都被ESlint标记为错误。我不知道为什么。
这是我的.babelrc文件:
{
"presets": [
"react",
"stage-2",
["env", {
"test": {
"presets": ["env", "react", "stage-2"],
"plugins": ["transform-export-extensions"],
"only": [
"./**/*.js",
"node_modules/jest-runtime"
]
},
"targets": {
"browsers": ["last 2 versions", "safari >= 7"]
},
"modules": false
}]
]
}
答案 0 :(得分:2)
如果您正在使用babel 6和jest 24,则将被告知jest 24不再支持babel 6。
有两种解决方案
如果要使用jest 24,还有另一种解决方法。请使用版本23锁定的babel-jest
。
"dependencies": {
"babel-core": "^6.26.3",
"babel-jest": "^23.6.0",
"babel-preset-env": "^1.7.0",
"jest": "^24.0.0"
}
答案 1 :(得分:0)
Hello dev你可以试试吗,
安装babel-jest
在里面设置.babelrc
"env": {
"test": {
"presets": ["es2015", "react"],
"plugins": ["syntax-object-rest-spread", "transform-es2015-modules-commonjs"]
},
答案 2 :(得分:0)
安装babel:
npm i --save-dev babel-core babel-loader babel-jest babel-preset-env babel-preset-react jest-cli react-addons-test-utils
并放入.babelrc中:
{
"presets": ["env", "react"]
}