2016-12-05 83 views
2

我已經將我的React組件全部充實,並且我想了解如何使用Mocha + chai正確地測試這些組件。我有這些配置對於我package.json(相關的):用摩卡測試React組件:意想不到的標記

"scripts": { 
    "start": "http-server", 
    "build": "watchify main.js -t babelify -o bundle.js", 
    "test": "./node_modules/mocha/bin/mocha --compilers js:babel-core/register test/test*.js" 
}, 
"devDependencies": { 
    "babel": "^5.6.23", 
    "babelify": "^6.1.3", 
    "browserify": "^11.0.0", 
    "chai": "^3.5.0", 
    "jsdom": "^9.8.3", 
    "mocha": "^3.2.0", 
    "react-addons-test-utils": "^15.4.1" 
}, 
"babel": { 
    "presets": [ 
     "es2015" 
    ] 
} 

我有Skill.js

import React from 'react'; 
import _ from 'underscore'; 

export default class Skills extends React.Component { 
    render() { 
     return (
      <div> 
       <h1>T E S T</h1> 
      </div> 
     ) 
    } 
} 

一個文件夾中test.js稱爲test沿:

import React from 'react'; 
import { expect, assert } from 'chai'; 
import Skills from '../src/components/Skills.js'; 

我當我運行npm test時收到意外的令牌錯誤。

enter image description here

什麼是控制檯抱怨?爲什麼<div>標籤無效?

+0

可能你需要''預設值':[「react」,「es2015」]' –

回答

0

你需要使用它

npm install --save-dev babel-preset-es2015 
+0

我接受了你的建議,並將這個依賴項添加到'package.json'中,但是同樣的錯誤正在發生。 – patrickhuang94

0

我也有類似的問題,起初我以爲我沒有import React from 'react';之前安裝babel-preset-es2015

接下來,我發現,我沒加--require ./test/test_helper.js

最後,但隨後後仍無法正常工作,我想通了,我沒有重新啓動的節點。這爲我修好了。