0
我試圖用JEST for React設置單元測試。Bable不編譯JSX for Jest/React
我的當前設置裏面的package.json:
"jest": {
"transform": {
"^.+\\.jsx?$": "babel-jest"
},
"moduleFileExtensions": [
"js",
"json",
"jsx"
]
}
然後裏面.babelrc我:
{
"plugins": ["syntax-dynamic-import", "transform-runtime"],
"presets": [
[
"es2015",
{
"modules": false
}
],
"react"
],
"env": {
"test": {
"presets": ["es2015", "react"]
}
}
}
我然後運行NPM測試,並隨後開始運行開玩笑。但是,它會報錯/不合格: 測試套件未能在
componentDidMount=()=>{
| ^
25 | window.addEventListener('scroll', this.handleScroll)
26 | }
用錯誤來運行這是告訴我,而測試輸入正確的組件,它最終停止在一些ES2015語法。
我有什麼設置錯了嗎?在JEST試圖運行它的測試之前,似乎babelrc實際上並沒有進行轉譯?它是否正確? 我的.babelrc位於根級別。
看起來你的代碼在「componentDidMount」定義的周圍有一些語法錯誤。如果你的'componentDidMount'被定義爲一個對象的屬性,你應該使用':'而不是'='。否則,請在此處顯示您的代碼。 –
@PhilipTzou這只是我的React組件中的componentDidMount react lifecyle方法。運行該應用程序,此方法正常工作,沒有錯誤。 – Srmuhs
'componentDidMount =()=> {...}'代碼似乎不正確。你可以發佈上下文代碼,以便我們可以深入瞭解它嗎? –