运行测试时出现“意外的令牌导入”错误

Ivá*_*ván 5 reactjs eslint jestjs

当我运行测试时,出现以下错误:

({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,global,jest){import React from 'react';
                                                                                         ^^^^^^

SyntaxError: Unexpected token import
Run Code Online (Sandbox Code Playgroud)

这是有道理的,因为“import React”或“import Enzyme”的所有行都被 ESlint 标记为错误。我不知道为什么。

这是我的 .babelrc 文件:

{
  "presets": [
    "react",
    "stage-2",
    ["env", {
      "test": {
        "presets": ["env", "react", "stage-2"],
        "plugins": ["transform-export-extensions"],
        "only": [
          "./**/*.js",
          "node_modules/jest-runtime"
        ]
      },
      "targets": {
        "browsers": ["last 2 versions", "safari >= 7"]
      },
      "modules": false
    }]
  ]
}
Run Code Online (Sandbox Code Playgroud)

Ang*_*gel 0

你好,开发者,你可以尝试一下吗?

安装 babel-jest

将其设置在 .babelrc 中

  "env": {
    "test": {
    "presets": ["es2015", "react"],
    "plugins": ["syntax-object-rest-spread", "transform-es2015-modules-commonjs"]      
  },
Run Code Online (Sandbox Code Playgroud)

用玩笑测试