我正在尝试学习如何使用React和Jest进行单元测试。我遇到了以下错误:
意外的令牌导入
这是我的babel预设:
{ "presets": ["es2015", "stage-0", "react"], "env": { "test": { "plugins": ["transform-es2015-modules-commonjs"] } } }
这是我要测试的文件:
import jest from 'jest'; import React from 'react'; import { shallow } from 'enzyme'; import Step from '../src/components/step.js'; const wrapper = shallow(<Step />); wrapper.find('a').simulate('click', { preventDefault() {} });
这是我的package.json:
{ "name": "react-simple-boilerplate", "version": "1.0.0", "description": "Simple and lightweight Boilerplate for ReactJS projects", "scripts": { "lint": "eslint src", "start": "node server.js", "test": "jest" }, "devDependencies": { "babel-core": "^6.24.1", "babel-loader": "^7.0.0", "babel-plugin-transform-es2015-modules-commonjs": "^6.26.0", "babel-preset-es2015": "^6.24.1", "babel-preset-react": "^6.24.1", "babel-preset-stage-0": "^6.24.1", "css-loader": "^0.28.0", "enzyme": "^3.2.0", "enzyme-adapter-react-16": "^1.1.0", "eslint": "^3.19.0", "eslint-plugin-react": "^6.10.3", "jest": "^21.2.1", "node-sass": "^4.5.2", "react-addons-test-utils": "^15.6.2", "sass-loader": "^6.0.3", "style-loader": "^0.16.1", "webpack": "^2.4.1", "webpack-dev-server": "^2.4.4" }, "dependencies": { "babel-loader": "^7.0.0", "react": "^15.5.4", "react-dom": "^15.5.4" }, "main": "server.js" }
不知道为什么会给我这个信息吗?
您的依赖项中似乎缺少babel-jest。这就是为什么在执行测试之前jest不在babelES6 +代码上运行的原因。
jest
babel