我正在尝试配置 jest,但面对它无法处理 es6 功能的事实。
为了解决这个问题,我在 package.json 中添加了配置:
"jest": {
"transform": {
"^.+\\.jsx?$": "./node_modules/babel-jest"
},
}
我的 .babelrc 配置:
{
"presets": [
"react",
"es2017",
"stage-0",
["env", {
"targets": {
"browsers": ["last 2 versions"]
},
"spec": true,
"modules": false,
"debug": true
}],
],
"plugins": [
["transform-class-properties", { "spec": true }]
]
}
它对我来说看起来很合适,但无论如何都无法使用Test suite failed to run
onimport React from 'react';
和 on 道具运行
class App extends Component {
static propTypes = {}
}
目前我不知道出了什么问题,但看起来 stage-x 功能不仅在 env 预设中不可用,而且plugins
其他预设都被忽略了。但是 webpack 构建包没有任何错误。所以看起来这是个笑话。
可以帮我看看是怎么回事,好吗?
========== 固定配置.babelrc
:
{
"presets": [
"react",
"es2015",
"es2016",
"es2017",
"stage-0",
["env", {
"targets": {
"browsers": ["last 2 versions"]
},
"spec": true,
"modules": false,
"debug": true
}],
],
"plugins": [
["transform-class-properties", { "spec": true }]
]
}
和package.json
:
"jest": {
"moduleNameMapper": {
"config.env": "<rootDir>/config/application.production.js",
"^.+\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga|po)$": "<rootDir>/__mocks__/fileMock.js",
"^.+\\.(css|less)$": "<rootDir>/__mocks__/styleMock.js"
},
"moduleFileExtensions": [
"js",
"jsx",
"js",
"json"
]
},