当我尝试导入Jquery时
import $ from 'jquery';
内部测试文件
或喜欢
import $ from 'jquery'; global.$ = global.jQuery = $;
在Jest安装文件中,我收到错误
● Runtime Error- SyntaxError: Unexpected identifier
at new Function (<anonymous>)
at createMockFunction (node_modules/jest-mock/build/index.js:179:10)
at Array.forEach (<anonymous>)
at Array.forEach (<anonymous>)
如何解决此问题?检查Jquery的路径和node_modules都没问题。使用Jest版本“^ 14.1.0”。
答案 0 :(得分:1)
我有Jest(v24.7.0
)的较新版本,所以我不确定此答案是否与问题中使用的Jest版本一起使用。
关于Jest文档的注释:
注意:
babel-jest
是在安装Jest时自动安装的,如果项目中存在babel配置,它将自动转换文件。
我在Jest documentation本身上找到了解决方案:
npm install --save-dev babel-jest @babel/core @babel/preset-env
// babel.config.js
module.exports = {
presets: [
[
'@babel/preset-env',
{
targets: {
node: 'current',
},
},
],
],
};
答案 1 :(得分:0)
尝试使用@babel/preset-env
。这是一个示例.babelrc
:
{
"env": {
"test": {
"presets": [["@babel/preset-env"]]
}
}
}
您当然可以添加其他配置选项。重要的是将@babel/preset-env
对象中的preset
设置为env.test
。