使用酶和摩卡进行测试 - "意外的令牌导入"

时间:2016-05-22 00:52:03

标签: node.js mocha babeljs enzyme

我试图在https://github.com/lelandrichardson/enzyme-example-mocha运行Enzyme / Mocha示例项目。我从Github克隆了这个项目并运行了npm install。当我在没有对项目进行任何其他更改的情况下运行mocha时,这是我收到的输出:

/Projects/enzyme-example-mocha/test/Foo-test.js:1
(function (exports, require, module, __filename, __dirname) { import React from 'react';
                                                              ^^^^^^
SyntaxError: Unexpected token import
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:511:25)
    at Object.Module._extensions..js (module.js:550:10)
    at Module.load (module.js:456:32)
    at tryModuleLoad (module.js:415:12)
    at Function.Module._load (module.js:407:3)
    at Module.require (module.js:466:17)
    at require (internal/module.js:20:19)

我的node --versionv6.1.0,我的mocha --version2.4.5

如何让这个项目转化为Node / Mocha可以运行的东西?感谢。

2 个答案:

答案 0 :(得分:1)

你试过npm run test吗?我在testpackage.json部分)中看到"scripts"脚本,运行它,并且它第一次运行。

npm run test与仅mocha的区别在于前者包含文件test/.setup.js,需要babel-register并执行它,这基本上就是你所说的失踪一个转变的步骤。

答案 1 :(得分:0)

您可以在.babelrc中添加预设2设置。

$ npm install --save-dev babel-preset-stage-2

将以下行添加到.babelrc文件中:

{
  "presets": ["stage-2","react","es2015"]
}