我有一个酶测试,它直接来自某处的教程:
import React from 'react';
import { mount } from 'enzyme';
import { expect } from 'chai';
describe('<Keypad />', () => {
it('should render children when passed in', () => {
const wrapper = mount(
<MyComponent>
<div className="unique" />
</MyComponent>
);
expect(wrapper.contains(<div className="unique" />)).to.equal(true);
});
});
我不断收到语法错误,意外标记:
SyntaxError: test.js: Unexpected token (9:4)
7 | it('should render children when passed in', () => {
8 | const wrapper = mount(
> 9 | <MyComponent>
| ^
10 | <div className="unique" />
11 | </MyComponent>
12 | );
有任何想法吗?我在 package.json 文件中安装并配置了所有这些模块:
"devDependencies": {
"babel-core": "^6.9.0",
"babel-loader": "^6.2.4",
"babel-preset-es2015": "^6.9.0",
"babel-preset-react": "^6.5.0",
"babel-register": "^6.9.0",
"chai": "^3.5.0",
"enzyme": "^2.3.0",
"mocha": "^2.5.3",
"react-addons-test-utils": "^15.1.0",
"redux-devtools": "^3.3.1",
"webpack": "^1.13.1",
"webpack-dev-server": "^1.14.1"
},
"dependencies": {
"compression": "^1.6.2",
"csurf": "^1.9.0",
"express-session": "^1.13.0",
"helmet": "^2.1.0",
"if-env": "^1.0.0",
"object.assign": "^4.0.3",
"react": "^15.1.0",
"react-dom": "^15.1.0",
"react-redux": "^4.4.5",
"react-router": "^2.4.1",
"redux": "^3.5.2",
"request": "^2.72.0",
"winston": "^2.2.0"
}
我在 Windows 上运行 npm test:
"test": "mocha src/home/test.js -c --compilers js:babel-register --recursive",
*****编辑******
这是我的组件文件:
// Library / Framework imports
import React, { Component } from 'react'
/*
* @class Home
* @description Display the home page React Component
*/
export default class Home extends Component {
render() {
return (
<section>
<h1>Home Page</h1>
<p>This is the home page</p>
</section>
)
}
}
这是我的测试文件:
// Library / Framework imports
import React from 'react'
import { mount, render, shallow } from 'enzyme'
import { expect } from 'chai'
import Home from './Home.jsx'
describe('<Home />', () => {
it('should render children when passed in', () => {
const wrapper = shallow(<Home />);
console.log(wrapper)
})
})
错误是:
SyntaxError: D:/home/test.js: Unexpected token (12:26)
10 |
11 | // console.log(SubmitButton)
> 12 | const wrapper = shallow(<Home />);
| ^
13 | console.log(wrapper)
14 |
15 | // expect(<SubmitButton />).contains()).to.equal(true)
我试过浅,渲染和安装。我在这里想念什么?我正在使用最新的 React 15 版本。事实上所有最新的模块 - 只是做了一个 npm 安装。我一定错过了如何使用这个库的基本理解。请帮忙!