SyntaxError:使用保留字'import'运行酶与业力

问题描述 投票:0回答:1

尝试使用Enzyme v3对我的React应用程序进行单元测试,但是没有用。 PFB细节:

模块安装:

"enzyme": "^3.1.1",
"enzyme-adapter-react-15.4": "^1.0.5",

创建了一个文件enzyme.config.js:

import Enzyme from 'enzyme';
import Adapter from 'enzyme-adapter-react-15.4';

Enzyme.configure({ adapter: new Adapter() });

在我的业力赛跑者conf中包含上述文件:

files: [
        // test setup
        ...........
        'test/unit/testutils/enzyme.config.js',
        ..........
]

得到以下错误:

14 11 2017 16:21:48.962:INFO [PhantomJS 2.1.1 (Windows 7 0.0.0)]: Connected on socket GWRhv0qSSmqs4UrpAAAC with id 5625410
PhantomJS 2.1.1 (Windows 7 0.0.0) ERROR
  SyntaxError: Use of reserved word 'import'
  at test/unit/testutils/enzyme.config.js:1

有什么我想念的吗?

reactjs gruntjs requirejs karma-runner enzyme
1个回答
0
投票

你在用babel吗?您应该在运行测试之前使用babel-register,并使用以下.babelrc文件:(安装其依赖项)

{
  "presets": ["es2015", "react"],
  "plugins": [
    "transform-es2015-modules-commonjs"
  ]
}

或者安装karma-babel-preprocessor

karma.conf:

module.exports = function (config) {
  config.set({
    preprocessors: {
      'src/**/*.js': ['babel'],
      'test/**/*.js': ['babel']
    },
    babelPreprocessor: {
      options: {
        presets: ['env'],
        sourceMap: 'inline'
      },
    ...
© www.soinside.com 2019 - 2024. All rights reserved.