gpt4 book ai didi

reactjs - 开 Jest : Unexpected token @ Decorator

转载 作者:行者123 更新时间:2023-12-03 14:27:43 34 4
gpt4 key购买 nike

我收到错误:测试套件运行失败:意外的 token (5:0)

3 | import Locale from '../stores/view/language'
4 |
5 | @observer
| ^
6 | export default class DateFormat extends Component {
7 | constructor(props) {
8 | super(props)

我正在使用 Webpack + Babel + Jest + Enzyme + React + Mobx

这是我的一些 package.json

{
"scripts": {
"test": "jest",
},
"devDependencies": {
"babel-eslint": "8.0.1",
"babel-jest": "21.2.0",
"enzyme": "3.1.0",
"enzyme-adapter-react-16": "1.0.2",
"jest": "21.2.1",
},
"babel": {
"presets": [
"env",
"react"
],
"env": {
"test": {
"presets": [
"env",
"react"
]
}
}
},
"dependencies": {
"axios": "0.16.2",
"babel-core": "6.26.0",
"babel-loader": "7.1.2",
"babel-plugin-transform-class-properties": "6.24.1",
"babel-plugin-transform-decorators-legacy": "1.3.4",
"babel-preset-env": "1.6.1",
"babel-preset-es2015": "6.24.1",
"babel-preset-react": "6.24.1",
"extract-text-webpack-plugin": "3.0.2",
"mobx": "3.3.1",
"mobx-react": "4.3.3",
"node-sass": "4.5.3",
"react": "16.0.0",
"react-dom": "16.0.0",
"react-interpolate-component": "0.11.0",
"react-router-dom": "4.2.2",
"react-test-renderer": "16.0.0",
"react-translate-component": "0.14.0",
"webpack": "3.8.1"
},
"jest": {
"testPathIgnorePatterns": [
"./__tests__/test-setup.js"
],
"setupTestFrameworkScriptFile": "./__tests__/test-setup.js",
"transform": {
"^.+\\.jsx?$": "babel-jest"
}
}
}

这是我正在测试的组件:

import React, { Component } from 'react'
import { observer } from 'mobx-react'
import Locale from '../stores/view/language'

@observer
export default class DateFormat extends Component {
constructor(props) {
super(props)
this.state =
{
fi: { lang: 'fi-FI', options: { year: 'numeric', month: 'numeric', day: 'numeric' } },
en: { lang: 'en-US', options: { year: 'numeric', month: 'long', day: 'numeric' } },
}
}

render() {
return (
<span>
{new Date(this.props.date).toLocaleDateString(
this.state[Locale.currentLang].lang,
this.state[Locale.currentLang].options,
)}
</span>
);
}
}

无法弄清楚如何修复可观察的。我错过了什么吗?或者我应该以其他方式测试这个?

我没有 .babelrc 文件。

最佳答案

我认为您需要添加一个 .babelrc 文件。听起来你缺少 babel 的 es2016 插件,它将 ES7 代码(如装饰器)转换为 ES5。

https://babeljs.io/docs/plugins/preset-es2016/

关于reactjs - 开 Jest : Unexpected token @ Decorator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47035288/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com