jest-preset.ts 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. // Jest预设配置,供其他mini UI包复用
  2. // 注意:这是一个TypeScript文件,需要通过ts-jest转换
  3. import type { Config } from 'jest'
  4. const config: Config = {
  5. preset: 'ts-jest',
  6. testEnvironment: 'jsdom',
  7. setupFilesAfterEnv: ['@d8d/mini-testing-utils/testing/setup-taro'],
  8. moduleNameMapper: {
  9. '^@/(.*)$': '<rootDir>/src/$1',
  10. '^~/(.*)$': '<rootDir>/tests/$1',
  11. '^@tarojs/taro$': '@d8d/mini-testing-utils/testing/taro-api-mock.ts',
  12. '\\.(css|less|scss|sass)$': '@d8d/mini-testing-utils/testing/style-mock.js',
  13. '\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$':
  14. '@d8d/mini-testing-utils/testing/file-mock.js'
  15. },
  16. testMatch: [
  17. '<rootDir>/tests/**/*.spec.{ts,tsx}',
  18. '<rootDir>/tests/**/*.test.{ts,tsx}'
  19. ],
  20. collectCoverageFrom: [
  21. 'src/**/*.{ts,tsx}',
  22. '!src/**/*.d.ts',
  23. '!src/**/index.{ts,tsx}',
  24. '!src/**/*.stories.{ts,tsx}'
  25. ],
  26. coverageDirectory: 'coverage',
  27. coverageReporters: ['text', 'lcov', 'html'],
  28. testPathIgnorePatterns: [
  29. '/node_modules/',
  30. '/dist/',
  31. '/coverage/'
  32. ],
  33. transform: {
  34. '^.+\\.(ts|tsx)$': 'ts-jest',
  35. '^.+\\.(js|jsx)$': 'babel-jest'
  36. },
  37. transformIgnorePatterns: [
  38. '/node_modules/(?!(swiper|@tarojs)/)'
  39. ],
  40. moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json']
  41. }
  42. export default config