Jest错误-测试套件无法运行-未知选项:.preset

时间:2020-05-01 20:09:37

标签: reactjs webpack jestjs

错误说明: 当对Javascript代码的简单单元测试开玩笑时,我收到错误“测试套件无法运行未知选项”的错误:.preset

以下是重现该错误的文件:

    {
  "name": "RelocationTrackerApp",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "jest",
    "start-debug": "webpack-dev-server --open --config webpack.dev.js",
    "build-release": "webpack --config webpack.prod.js"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "@babel/core": "^7.9.0",
    "@babel/preset-env": "^7.9.5",
    "@babel/preset-react": "^7.9.4",
    "@testing-library/react": "^10.0.3",
    "babel-jest": "^25.5.1",
    "babel-loader": "^8.1.0",
    "jest": "^25.5.0",
    "react-test-renderer": "^16.13.1",
    "webpack": "^4.42.1",
    "webpack-cli": "^3.3.11",
    "webpack-dev-server": "^3.10.3",
    "webpack-merge": "^4.2.2"
  },
  "dependencies": {
    "react": "^16.13.1",
    "react-bootstrap": "^1.0.1",
    "react-dom": "^16.13.1",
    "react-router-dom": "^5.1.2"
  }
}

.babelrc

{ "preset": ["@babel/preset-env", "@babel/preset-react"] }

sum.test.js

    const sum = require('./sum');

test('properly ads two numbers', () => {
expect(sum(1, 2)).toBe(3)
})

以下是实际错误: 测试套件无法运行

Unknown option: .preset. Check out https://babeljs.io/docs/en/babel-core/#options for more information about options.

  at throwUnknownError (node_modules/@babel/core/lib/config/validation/options.js:123:27)
  at node_modules/@babel/core/lib/config/validation/options.js:108:5
      at Array.forEach (<anonymous>)
  at validateNested (node_modules/@babel/core/lib/config/validation/options.js:84:21)
  at validate (node_modules/@babel/core/lib/config/validation/options.js:75:10)
  at node_modules/@babel/core/lib/config/config-chain.js:174:34
  at cachedFunction (node_modules/@babel/core/lib/config/caching.js:62:27)
      at cachedFunction.next (<anonymous>)
  at evaluateSync (node_modules/gensync/index.js:244:28)
  at sync (node_modules/gensync/index.js:84:14)

*****如果有任何意义,我正在使用webpacks作为捆绑工具**

1 个答案:

答案 0 :(得分:0)

我认为这是因为您的.babelrc文件中的 sr.parallelStream().forEach(-> { //do something }) 不是presets

顺便说一句,未知选项不是preset,而是.preset。错误消息以某种方式在未知标记之前添加了一个点,并在未知标记之后添加了一个点,因此它显示preset表示实际上不理解.preset.