如果我在ES6中使用import/export
,则我的所有Jest测试都会失败,并显示错误:
意外的保留字
当我将要测试的对象转换为旧式的IIFE语法时,突然我的测试通过了。或者,采用更简单的测试用例:
var Validation = require('../src/components/validation/validation'); // PASS
//import * as Validation from '../src/components/validation/validation' // FAIL
同样的错误。显然这里存在着导入/导出问题。为了让我的测试框架正常工作,重写我的代码使用 ES5 语法是不现实的。
我有 babel-jest。我尝试了来自 GitHub 问题页面的各种 建议,但到目前为止都无法解决问题。
文件package.json
"scripts": {
"start": "webpack-dev-server",
"test": "jest"
},
"jest": {
"testPathDirs": [
"__tests__"
],
"testPathIgnorePatterns": [
"/node_modules/"
],
"testFileExtensions": ["es6", "js"],
"moduleFileExtensions": ["js", "json", "es6"]
},
文件 babelrc
{
"presets": ["es2015", "react"],
"plugins": ["transform-decorators-legacy"]
}
有没有解决方法?