javascript - 开 Jest - 语法错误 : Unexpected identifier

标签 javascript node.js jestjs babel-jest

使用 Jest 对某些 NodeJS 函数进行一些测试,但它不喜欢 import 语句,例如从“../util/database-controller”导入 DatabaseController

我做了一些阅读,人们建议安装 babel-jest 并更新我的配置(如下),但我没有任何运气。我错过了什么?据我了解,它不理解 import 语句,因为它是 es6 东西......

开 Jest 我的 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"
    ]
  },

最佳答案

最近我发现我根本不需要 babel-jest,并且可以简单地使用 @babel/preset-env ,以及以下 .babelrc:

{
  "env": {
    "test": {
      "presets": [["@babel/preset-env"]]
    }
  }
}

关于javascript - 开 Jest - 语法错误 : Unexpected identifier,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55108290/

相关文章:

javascript - Jest 全局设置导致测试通过/失败不一致

mysql - 关于 SQL 查询,什么被认为是缓慢的?

javascript - 仅在一个 Vue Router 页面上处理 keydown 事件

javascript - 如何在 .on 方法中给出多个事件和处理程序?

Javascript - 根据设备更改按钮图像

node.js - 通过 Typescript 在 Node 流上使用 Array.reduce

node.js - 如何从命令行创建 Express EJS 项目?

javascript - 开 Jest , enzyme - 测试返回 jsx 的方法

javascript - 如何使用 Jest 正确实现这样的测试套件架构?

javascript - Internet Explorer 不会重定向 ajax 响应