2017-08-12 23 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