2017-08-12 24 views
0

这是我的测试代码当我运行酶例如,我得到 “语法错误:/Users/a2014/Desktop/draghtml/test/test.js:意外令牌(58:26)”

import React from 'react'; 
 
import { expect } from 'chai'; 
 
import { mount, shallow } from 'enzyme'; 
 
import Welcome from '../script/src/entry'; 
 

 
describe('<Welcome />',() => { 
 
    it('calls componentDidMount',() => { 
 
    const wrapper = mount(<Welcome />); 
 
    expect(Welcome.prototype.componentDidMount.calledOnce).to.equal(true); 
 
    }); 
 
});
这是我的package.json

"scripts": { 
 
    "cover": "istanbul cover _mocha -- --delay", 
 
    "test": "mocha --compilers js:babel-core/register --require ./test/test.js", 
 
    "dev": "webpack" 
 
    }, 
 
    "author": "", 
 
    "license": "ISC", 
 
    "devDependencies": { 
 
    "babel-cli": "^6.24.1", 
 
    "babel-core": "^6.25.0", 
 
    "babel-loader": "^7.1.1", 
 
    "babel-plugin-transform-runtime": "^6.23.0", 
 
    "babel-preset-es2015": "^6.24.1", 
 
    "babel-preset-react": "^6.24.1", 
 
    "babel-preset-stage-0": "^6.24.1", 
 
    "chai": "^4.1.1", 
 
    "enzyme": "^2.9.1", 
 
    "html-webpack-plugin": "^2.30.1", 
 
    "isparta-loader": "^2.0.0", 
 
    "istanbul": "^0.4.5", 
 
    "jsx-loader": "^0.13.2", 
 
    "karma": "^1.7.0", 
 
    "karma-chrome-launcher": "^2.2.0", 
 
    "karma-coverage": "^1.1.1", 
 
    "karma-firefox-launcher": "^1.0.1", 
 
    "karma-mocha": "^1.3.0", 
 
    "karma-phantomjs-launcher": "^1.0.4", 
 
    "karma-spec-reporter": "0.0.31", 
 
    "karma-webpack": "^2.0.4", 
 
    "mocha": "^3.5.0", 
 
    "phantomjs-polyfill": "0.0.2", 
 
    "react-addons-test-utils": "^15.6.0", 
 
    "react-test-renderer": "^15.6.1", 
 
    "should": "^11.2.1", 
 
    "webpack": "^3.4.1" 
 
    }, 
 
    "dependencies": { 
 
    "babel-runtime": "^6.25.0", 
 
    "react": "^15.6.1", 
 
    "react-dom": "^15.6.1" 
 
    }

当我运行 “故宫运行测试” 中,它得到了一个错误,怎么送好吗?

SyntaxError: /Users/a2014/Desktop/draghtml/test/test.js: Unexpected token (58:26)

58: const wrapper = mount(<Welcome />);

好像dont't决心

回答

0

您需要使用巴贝尔用正确的设定来解析您的组件,这是不被支持的NodeJS的JSX语法,事件在最新版本中,它将来可能不会被支持。

一种选择是安装React preset并将其包括在一个文件.babelrc

{ 
    "presets": ["react"] 
} 
+0

我创建.babelrc这样{ “预置”:[ “反应”, “0级”,“ES2015 “] }和”npm run test“,它出现错误”描述未定义“,但我安装了macha,如何解决它 – 2014

+0

您是否安装了这些预设?你需要做的是:'npm我 - 保存 - 开发babel-preset-react-babel-preset-stage-0 babel-preset-es2015'。然后使用'package.json','npm test'中的命令运行mocha。如果你有一个例子(例如GitHub),我可以看看 – Ignacio

+0

https://github.com/z2014/Blog/tree/master/draghtml,谢谢! – 2014