我使用的是jest和ES6语法,当我尝试运行测试时,它们无法为Missing class properties transform
中声明的箭头函数抱怨class
。我正在使用babel转换我的ES6语法,效果很好。我已经安装了babel-jest
插件,并在package.json中添加了与Jest相关的配置。
"jest": {
"moduleNameMapper": {
"\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/src/main/client/__mocks__/fileMock.js",
"\\.(css|less|scss)$": "<rootDir>/src/main/client/__mocks__/styleMock.js"
},
"collectCoverage": true,
"transform": {
"^.+\\.js$": "babel-jest",
"^.+\\.css$": "custom-transformer"
}
}
当我在此配置中使用yarn test 'addFormReducerTests'
开玩笑时,我收到错误消息:
缺少类属性的转换。
我研究了如何直接使用Jest CLI运行测试,并且有一个--transform选项接受用于转换器映射的JSON字符串。
我正在通过"{"^.+\\.js$":"babel-jest","^.+\\.css$":"custom-transformer"}"
对此,但会引发此错误:
SyntaxError:JSON中位置1处的意外令牌^ 在Object.parse(本机) 在Object.keys.filter.reduce(/home/kartik/codebase/fareye-mobi/node_modules/jest-config/build/setFromArgv.js:42:31) 在Array.reduce(本机) 在setFromArgv(/home/kartik/codebase/fareye-mobi/node_modules/jest-config/build/setFromArgv.js:20:3) 在规范化(/home/kartik/codebase/fareye-mobi/node_modules/jest-config/build/normalize.js:280:44) 在readConfig(/home/kartik/codebase/fareye-mobi/node_modules/jest-config/build/index.js:28:3) 在/home/kartik/codebase/fareye-mobi/node_modules/jest-cli/build/cli/runCLI.js:101:9 在下(本机) 在步骤(/home/kartik/codebase/fareye-mobi/node_modules/jest-cli/build/cli/runCLI.js:1:260) 在/home/kartik/codebase/fareye-mobi/node_modules/jest-cli/build/cli/runCLI.js:1:490`
我不知道我在做什么错。任何帮助表示赞赏。