Reactjs 使用jest运行测试时的可选链接问题
我正在尝试使用Jest运行测试,目前我正在react应用程序中使用jsx和tsx(从js更改为ts),但当我运行测试时,除了tsx中带有可选阻塞的测试外,所有jsx测试都成功。我总是在输入时收到一个错误Reactjs 使用jest运行测试时的可选链接问题,reactjs,jestjs,babeljs,enzyme,babel-jest,Reactjs,Jestjs,Babeljs,Enzyme,Babel Jest,我正在尝试使用Jest运行测试,目前我正在react应用程序中使用jsx和tsx(从js更改为ts),但当我运行测试时,除了tsx中带有可选阻塞的测试外,所有jsx测试都成功。我总是在输入时收到一个错误意外标记,如下所示 ... <Input value={parent?.child} ... 。。。 对我来说,问题是在我的tsconfig.json中,我使用的是“lib”:[“ES2020”],这与我的节点版本冲突。将节点版本更改为v14解决了此问题。 在这里,您可以找到一个
意外标记
,如下所示
...
<Input
value={parent?.child}
...
。。。
对我来说,问题是在我的tsconfig.json
中,我使用的是“lib”:[“ES2020”]
,这与我的节点版本冲突。将节点版本更改为v14解决了此问题。
在这里,您可以找到一个链接,其中包含具有节点版本的库目标:
{
"verbose": true,
"roots": [
"<rootDir>/app"
],
"setupFiles": [
"./config/webpack/jest/config.js"
],
"moduleNameMapper": {
"^components(.*)": "<rootDir>/app/javascript/components$1",
"^utils(.*)": "<rootDir>/app/javascript/utils$1",
"^types(.*)": "<rootDir>/app/javascript/types$1",
"\\.(css|pcss|scss)$": "<rootDir>/spec/__mocks__/styleMock.js",
"\\.(gif|ttf|eot|svg|png)$": "<rootDir>/spec/__mocks__/fileMock.js"
},
"snapshotSerializers": [
"<rootDir>/node_modules/enzyme-to-json/serializer"
],
"testRegex": "(/__tests__/.*|\\.(test))\\.(ts|tsx|js|jsx)$",
"moduleFileExtensions": [
"ts",
"tsx",
"js",
"jsx"
],
"transform": {
"\\.[jt]sx?$": "babel-jest"
}
}