我正在研究一个React Typescript项目,并且我注意到随着项目的发展,每个测试套件所花费的时间已经大大增加了。无论其中的测试套件多么复杂,每个测试套件最多要运行10-15秒。似乎只是启动给定测试套件的问题,因为测试套件之间的运行时间差异不大。
作为一个测试,我尝试仅对代码和测试文件进行一次打字稿编译,并且没有jest-ts的情况下运行,但这似乎要好得多,但每个测试套件平均仍需要5秒钟的时间。 jest / jest-ts是否正在执行我应该禁用的测试前套件任务?是否要在每个套件或某个组件之前在整个应用程序上重新执行转换步骤,我是否可以打开仅运行一次转换或缓存转换后输出的内容?
这是我正在使用的笑话配置:
{
"globals": {
"ts-jest": {
"useBabelrc": true
}
},
"collectCoverageFrom": [
"src/**/*.{ts,tsx}",
"!src/**/tests/*.{ts,tsx}",
"!src/**/*.dao.ts",
"!src/**/*.enum.ts",
"!src/**/*.styles.ts",
"!src/**/*.style.ts",
"!src/components/sandbox/**/*.{ts,tsx}",
"!src/testShims/**/*",
"!src/containers/app.tsx"
],
"setupFiles": [
"<rootDir>/src/testShims/requestAnimationFrameShim.ts",
"<rootDir>/src/testShims/momentShim.ts",
"jest-localstorage-mock",
"jest-canvas-mock"
],
"moduleFileExtensions": [
"ts",
"tsx",
"js"
],
"coverageDirectory": "./test/coverage",
"testResultsProcessor": "./node_modules/jest-html-reporter",
"transform": {
"\\.(ts|tsx)$": "<rootDir>/node_modules/ts-jest/preprocessor.js",
".+\\.jsx?$": "babel-jest"
},
"testRegex": "/src/.*\\.spec\\.(ts|tsx)$",
"snapshotSerializers": [
"enzyme-to-json/serializer"
]}