我正在处理最近从旧的Webpack构建转换为使用create-react-app
的应用程序。大多数过渡进展顺利,但我在之前的单元测试中遇到了一些重大问题。当我运行具有标准package.json测试脚本npm test
的{{1}}时,它表示我的所有快照测试都失败了。这很好并且预期很多,因为有很多变化,测试需要更新。
但是,当我运行"test": "react-scripts test --env=jsdom"
或jest
时,我的所有测试都会立即失败并出现jest --updateSnapshot
错误,其中大多数与SyntaxError: Unexpected token
有关。这让我相信Jest并没有使用Babel来正确转换ES6语法。
以前,我们使用带有以下设置的.babelrc文件:
import
但由于Babel已包含在{
"presets": ["env", "react", "stage-0", "flow"],
"plugins": ["transform-runtime", "add-module-exports", "transform-decorators-legacy"]
}
中,因此我删除了此文件以及对Babel的任何引用。我的package.json也没有为Jest本身设置任何特殊的脚本。
我已经尝试过添加一些以前使用过的Babel软件包了,但是在进一步阅读之后,看起来无论如何我都不会工作,除非我从create-react-app
退出并且这不是一个选项。
什么会导致create-react-app
正常运行但npm test
失败?