我正在努力设置开玩笑的反应有打字稿。
每当我运行npm test
时,都会出错。
npm test给出了以下错误:
开箱即用,Create React App仅支持覆盖这些Jest 选项:
•collectCoverageFrom•coverageReporters•coverageThreshold
•snapshotSerializers。package.json Jest配置中的这些选项不是 目前由Create React App支持:
•transform•testRegex•moduleFileExtensions
如果您希望覆盖其他Jest选项,则需要从中弹出 默认设置。您可以通过运行npm run eject来实现,但请记住 这是一个单向操作。您也可以提出问题 创建React App以讨论支持更多开箱即用的选项。
我不想弹出,我也想要以下选项来工作
•变换
•testRegex
•moduleFileExtensions
我该怎么办?
我的package.json文件如下
{
"name": "appname",
"version": "0.1.0",
"private": true,
"dependencies": {
"jest-cli": "^22.3.0",
"jest-enzyme": "^4.2.0",
"react": "^16.2.0",
"react-scripts": "1.1.1"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test --env=jsdom",
"eject": "react-scripts eject",
"storybook": "start-storybook -p 9009 -s public",
"build-storybook": "build-storybook -s public"
},
"devDependencies": {
"@storybook/addon-actions": "^3.3.13",
"@storybook/addon-links": "^3.3.13",
"@storybook/addon-storyshots": "^3.3.13",
"@storybook/addons": "^3.3.13",
"@storybook/react": "^3.3.13",
"@types/enzyme": "^3.1.9",
"@types/jest": "^22.1.2",
"@types/react-dom": "^16.0.4",
"@types/storybook__react": "^3.0.7",
"awesome-typescript-loader": "^3.4.1",
"babel-core": "^6.26.0",
"enzyme": "^3.3.0",
"jest": "^22.3.0",
"prettier-eslint": "^8.8.1",
"react-addons-test-utils": "^15.6.2",
"react-dom": "^16.2.0",
"redux": "^3.7.2",
"ts-jest": "^22.0.4",
"ts-loader": "^3.5.0",
"typescript": "^2.7.2",
"typescript-eslint-parser": "^13.0.0"
},
"jest": {
"transform": {
"^.+\\.tsx?$": "ts-jest"
},
"testRegex": "(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$",
"moduleFileExtensions": [
"ts",
"tsx",
"js",
"jsx",
"json",
"node"
]
}
}
`
答案 0 :(得分:0)
In CRA 2.1 and later versions,您应该可以完全不用任何特殊的配置来将TypeScript用于测试文件。只要确保您的__tests__
文件夹嵌套在您的src
文件夹下,或者您的测试文件在src
文件夹中并且具有以下任何扩展名:
.test.js
.test.ts
.test.jsx
.test.tsx
.spec.js
.spec.ts
.spec.jsx
.spec.tsx