React Jest测试中意外导入令牌的错误

时间:2018-09-06 12:19:05

标签: reactjs jestjs babel-jest

我的jest.config.js文件包含以下数据。

但是当我运行测试命令时,它给了我SyntaxError错误:

  

意外的令牌导入

启动测试命令时出现错误

e

const path = require('path');

module.exports = {
bail: true,
rootDir: process.cwd(),
testRegex: '/__tests__/.*\\.test\\.jsx?$',
transform: { '/__tests__/.*': path.resolve(__dirname, 'jest.transform.js'),},
verbose: true,
};

2 个答案:

答案 0 :(得分:0)

通常在Babel不处理您的测试和代码时发生。 Jest是Node.js应用程序,Node.js不了解import语法。

我看到您定义了自己的transform配置。 Jest documentation说,如果您为transform配置选项设置了一些值,它将覆盖默认值,并且Jest不会使用babel-jest预处理代码。 要解决此问题,您需要明确定义要通过babel-jest转换的文件:

transform: {
  '/__tests__/.*': path.resolve(__dirname, 'jest.transform.js'),
  "^.+\\.(js|jsx)$": "babel-jest",
},

答案 1 :(得分:0)

请安装"babel-jest": "^23.0.1",并添加以下转换配置:

const path = require('path');
module.exports = {
bail: true,
rootDir: process.cwd(),
testRegex: '/__tests__/.*\\.test\\.jsx?$',
"transform": {
  "\\.js$": "<rootDir>/node_modules/babel-jest"
},
verbose: true,
};

让我知道问题是否仍然存在