用酶和摩卡咖啡测试 -- "Unexpected token import"

Testing with enzyme and mocha -- "Unexpected token import"

我正在尝试 运行 Enzyme/Mocha 示例项目 https://github.com/lelandrichardson/enzyme-example-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 可以 运行 的东西?谢谢。

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

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

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

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

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

npm run testmocha 的区别在于前者包含文件 test/.setup.js,后者需要 babel-register 并执行它,这基本上就是您所说的关于缺少 t运行spile 步骤。