programing

vue.js를 통한 JEST 테스트 퍼포먼스 향상

copysource 2022. 8. 10. 21:11
반응형

vue.js를 통한 JEST 테스트 퍼포먼스 향상

컴포넌트는 거의 없고 로그인을 위한 테스트는 1개뿐인 단순한 앱이 있습니다.vue 컴포넌트 호출에 걸리는 시간은 20 ~10초입니다성능을 향상시킬 수 있는 방법이 있나요? 아니면 모두가 같은 결과를 얻고 있나요?

jeast.conf.displaces

const path = require('path')

module.exports = {
  rootDir: path.resolve(__dirname, '../../'),
  moduleFileExtensions: [
    'js',
    'json',
    'vue'
  ],
  moduleNameMapper: {
    '^@/(.*)$': '<rootDir>/src/$1'
  },
  transform: {
    '^.+\\.js$': '<rootDir>/node_modules/babel-jest',
    '.*\\.(vue)$': '<rootDir>/node_modules/vue-jest'
  },
  testPathIgnorePatterns: [
    '<rootDir>/test/e2e'
  ],
  snapshotSerializers: ['<rootDir>/node_modules/jest-serializer-vue'],
  setupFiles: ['<rootDir>/test/unit/setup'],
  coverageDirectory: '<rootDir>/test/unit/coverage',
  collectCoverageFrom: [
    'src/**/*.{js,vue}',
    '!src/main.js',
    '!src/router/index.js',
    '!**/node_modules/**'
  ]
}

커버리지 포함

커버리지 포함

커버리지 없음

커버리지 없음

편집

루트 디렉토리를 추가하면 테스트가 몇 초간 개선되는 것 같습니다.

roots: [
    '<rootDir>/src',
    '<rootDir>/test'
  ],

PASSED 테스트/유닛/스펙/Login.spec.js(5.647초)

Login.vue

✓ has login method (21ms)

농담 시간이 너무 오래 걸려 비슷한 문제가 있었어요.

제가 한 일이 큰 영향을 준 것은 테스트 디렉토리를 제한하는 것입니다.테스트 적용 범위를 위해 src 폴더를 검색하는 대신 루트 폴더를 정의하여 단위 테스트가 있는 폴더를 정의했습니다.

"roots": [
  "<rootDir>/test/jest"
]

또는

src

  "modulePathIgnorePatterns": [
    "<rootDir>/tmp"
  ],
  "testPathDirs": [
    "<rootDir>/app/client",
    "<rootDir>/lib/client"
  ],

다른 방법은 컴파일된 버전의 의존관계 ref를 사용하는 것입니다.

테스트해 보진 않았지만 그것도 도움이 될 것 같아

언급URL : https://stackoverflow.com/questions/50213892/improving-jest-testing-performance-with-vue-js

반응형