尝试使用Enzyme v3对我的React应用程序进行单元测试,但是没有用。 PFB细节:
模块安装:
"enzyme": "^3.1.1",
"enzyme-adapter-react-15.4": "^1.0.5",
创建了一个文件enzyme.config.js:
import Enzyme from 'enzyme';
import Adapter from 'enzyme-adapter-react-15.4';
Enzyme.configure({ adapter: new Adapter() });
在我的业力赛跑者conf中包含上述文件:
files: [
// test setup
...........
'test/unit/testutils/enzyme.config.js',
..........
]
得到以下错误:
14 11 2017 16:21:48.962:INFO [PhantomJS 2.1.1 (Windows 7 0.0.0)]: Connected on socket GWRhv0qSSmqs4UrpAAAC with id 5625410
PhantomJS 2.1.1 (Windows 7 0.0.0) ERROR
SyntaxError: Use of reserved word 'import'
at test/unit/testutils/enzyme.config.js:1
有什么我想念的吗?
你在用babel吗?您应该在运行测试之前使用babel-register,并使用以下.babelrc文件:(安装其依赖项)
{
"presets": ["es2015", "react"],
"plugins": [
"transform-es2015-modules-commonjs"
]
}
karma.conf:
module.exports = function (config) {
config.set({
preprocessors: {
'src/**/*.js': ['babel'],
'test/**/*.js': ['babel']
},
babelPreprocessor: {
options: {
presets: ['env'],
sourceMap: 'inline'
},
...