【问题标题】:Jest: Test suite failed to run, Unexpected token =开玩笑:测试套件无法运行,意外令牌 =
【发布时间】:2018-05-01 03:27:57
【问题描述】:

我正在尝试使用 Jest/Enzyme 测试 React 组件。我希望测试至少可以运行,但是在导入文件时它已经失败并且没有进入测试本身。所以我想知道我缺少什么配置?

错误:

__tests__/Favorite.test.js
  ● Test suite failed to run

    /src/components/favorite/Favorite.js: Unexpected token (13:13)
        11 |   }
        12 |
      > 13 |   isFavorite = (props) => {
           |              ^
        14 |     return localStorage.getItem(props.recipe.id) ? true : false
        15 |   }
        16 |

测试文件:

import React from 'react'
import { mount } from 'enzyme'
import Favorite from '../src/components/favorite/Favorite'


describe('Favorite', () => {
  const recipe = {id: "12345"}
  const favorite = mount(<Favorite recipe={recipe}/>)
  // assertions
})

.babelrc:

{
  "presets": ["es2015", "react"]
}

package.json:

"devDependencies": {
    "babel-jest": "^21.2.0",
    "babel-preset-es2015": "^6.24.1",
    "babel-preset-react": "^6.24.1",
    "enzyme": "^3.2.0",
    "enzyme-adapter-react-16": "^1.1.0",
    "enzyme-to-json": "^3.2.2",
    "jest": "^21.2.1",
    "react-test-renderer": "^16.1.1"
  },
  "jest": {
    "setupTestFrameworkScriptFile": "./src/setupTests.js",
    "moduleNameMapper": {
      "\\.(css|jpg|png|svg|ico)$": "<rootDir>/empty-module.js"
    }
  }


更新:

当我将函数的声明从胖箭头更改为函数关键字时,测试运行。我想知道为什么?

不适用于 Jest 的胖箭头功能:

// Favorite.js

  isFavorite = (props) => {
    return localStorage.getItem(props.recipe.id) ? true : false
  }

适用于 Jest 的函数关键字:

// Favorite.js

  isFavorite(props) {
    return localStorage.getItem(props.recipe.id) ? true : false
  }

【问题讨论】:

  • 你声明它为 var/let/const 了吗?
  • 我也试过了,但它给了我同样的错误信息。最重要的是,该应用程序无法在浏览器中编译。

标签: reactjs enzyme jestjs babel-jest


【解决方案1】:

您错过了babel-preset-stage-0 包。

  1. 添加:yarn add babel-preset-stage-0 --dev

  2. 编辑您的.babelrc{ "presets": ["es2015", "react", "babel-preset-stage-0"] }

【讨论】:

    猜你喜欢
    • 2017-06-03
    • 2018-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-28
    • 2017-09-13
    • 2019-03-10
    • 1970-01-01
    相关资源
    最近更新 更多