我正在使用jest和ES6语法,当我尝试运行我的测试时,他们无法为 class 中声明的箭头函数抱怨 Missing class properties transform . 我正在使用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时,我收到错误:

误导类属性转换 .

我已经了解了如何直接使用jest CLI运行测试,并且有一个--transform选项,它接受变换器映射的JSON字符串 .

我正在通过 "{"^.+\\.js$":"babel-jest","^.+\\.css$":"custom-transformer"}"

对它,但它抛出此错误:

SyntaxError:Object.keys.filter.reduce中Object.parse(native)位置1的JSON中的意外标记^(/home/kartik/codebase/fareye-mobi/node_modules/jest-config/build/setFromArgv.js: 42:31)在normalFromArgv(/home/kartik/codebase/fareye-mobi/node_modules/jest-config/build/setFromArgv.js:20:3)的Array.reduce(native)处于normalize(/ 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) )athome/kartik/codebase/fareye-mobi/node_modules/jest-cli/build/cli/runCLI.js:101:9 at next(native)at step(/ 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`

我无法弄清楚我做错了什么 . 任何帮助表示赞赏 .