Reactjs 用巴别塔测试摩卡咖啡的反应成分
我试图用酶/摩卡测试一种反应成分,但对如何设置有点困惑 这是测试Reactjs 用巴别塔测试摩卡咖啡的反应成分,reactjs,babeljs,enzyme,Reactjs,Babeljs,Enzyme,我试图用酶/摩卡测试一种反应成分,但对如何设置有点困惑 这是测试 import React from 'react'; import { expect } from 'chai'; import { shallow, mount, render } from 'enzyme'; import Index from '../../public/js/components/polls/index' describe("INDEX", function() { it("contains a di
import React from 'react';
import { expect } from 'chai';
import { shallow, mount, render } from 'enzyme';
import Index from '../../public/js/components/polls/index'
describe("INDEX", function() {
it("contains a div", function() {
expect(shallow(<Index />).contains(<div id="index">)).to.equal(true);
});
});
下面是我得到的错误:
SyntaxError: /my_app/public/js/components/polls/index.js: Unexpected token (47:10)
45 | eachPoll(poll, i) {
46 | return(
> 47 | <Link to={"/poll/" + poll._id} key={poll._id}>
| ^
48 | <div className="btn btn-info btn-block">
49 | {poll.name}
50 | </div>
SyntaxError:/my_app/public/js/components/polls/index.js:意外标记(47:10)
45 |每个投票(投票,i){
46 |返回(
> 47 |
| ^
48 |
49 |{poll.name}
50 |
问题似乎出在JSX上,但我可以用webpack构建这个组件。我做错了什么?您应该使用babel register选项运行Mocha,通过babel运行测试:
--compilers js:node_modules/babel-register
确保在根目录中有一个.babelrc文件。它至少应该包含预设值
例如.lrc:
谢谢!我将命令更改为
env NODE\u env=test mocha--compilers js:NODE\u modules/babel register--require babel polyfill--reporter spec--timeout 5000--recursive
,得到了同样的错误。您是否使用.babelrc
文件?没有反应预设?es2015预设中没有包含这一点,修复了它!如果您想写一个答案为此,我将批准它。文件扩展名是.js
还是.jsx
?
--compilers js:node_modules/babel-register
{
"presets": [
"es2015",
"react"
]
}