Почему все наборы шутниковых тестов занимают больше времени по мере роста моего проекта?

Я работаю над реагирующим проектом 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"
]}

0 ответов

Другие вопросы по тегам