web-dev-qa-db-ja.com

Jest-SyntaxError:予期しない識別子

Jestを使用して一部のNodeJS関数のいくつかのテストを行いますが、importステートメントは好きではありません。 import DatabaseController from '../util/database-controller'

私はいくつかの読書をしていて、人々はbabel-jestのインストールと私の設定(以下)の更新を提案しましたが、私は運がありませんでした。何が欠けていますか?私が理解していることから、importステートメントはes6のものであるため、理解しません...

package.jsonの一部:

"jest": {
    "collectCoverageFrom": [
      "src/**/*.{js,jsx}"
    ],
    "resolver": "jest-pnp-resolver",
    "setupFiles": [
      "react-app-polyfill/jsdom"
    ],
    "testMatch": [
      "<rootDir>/**/__tests__/**/*.{js,jsx}",
      "<rootDir>/**/?(*.)(spec|test).{js,jsx}"
    ],
    "testEnvironment": "jsdom",
    "testURL": "http://localhost",
    "transform": {
      "^.+\\.jsx?$": "babel-jest",
      "^.+\\.css$": "<rootDir>/config/jest/cssTransform.js",
      "^(?!.*\\.(js|jsx|css|json)$)": "<rootDir>/config/jest/fileTransform.js"
    },
    "transformIgnorePatterns": [
      "[/\\\\]node_modules[/\\\\].+\\.(js|jsx)$",
      "^.+\\.module\\.(css|sass|scss)$"
    ],
    "moduleNameMapper": {
      "^react-native$": "react-native-web",
      "^.+\\.module\\.(css|sass|scss)$": "identity-obj-proxy"
    },
    "moduleFileExtensions": [
      "web.js",
      "js",
      "json",
      "web.jsx",
      "jsx",
      "node"
    ]
  },
5
mfisher91

これは私の簡単な設定でうまくいきました:

devDependencies(package.json):

  "devDependencies": {
      "babel-eslint": "^10.0.3",
      "babel-preset-env": "^1.7.0",
      "jest": "^24.9.0",
      "parcel-bundler": "^1.12.3"
    }

私は単にbabel.config.js 次のように:

  // babel.config.js
  module.exports = {
    presets: [
      [
        '@babel/preset-env',
        {
          targets: {
            node: 'current',
          },
        },
      ],
    ],
  };

-実行する前に必ずキャッシュをクリアしてください!

キャッシュの消去:

  ./node_modules/.bin/jest --clearCache
1
Jared Wilber