jest.config.js 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. module.exports = {
  2. preset: 'ts-jest',
  3. testEnvironment: 'node',
  4. roots: ['<rootDir>/src', '<rootDir>/tests'],
  5. testMatch: ['**/__tests__/**/*.ts', '**/?(*.)+(spec|test).ts'],
  6. transform: {
  7. '^.+\\.ts$': 'ts-jest',
  8. },
  9. collectCoverageFrom: [
  10. 'src/**/*.ts',
  11. '!src/**/*.d.ts',
  12. '!src/**/*.test.ts',
  13. '!src/**/*.spec.ts',
  14. ],
  15. coverageDirectory: 'coverage',
  16. coverageReporters: ['text', 'lcov', 'html'],
  17. coverageThreshold: {
  18. global: {
  19. branches: 70,
  20. functions: 80,
  21. lines: 80,
  22. statements: 80,
  23. },
  24. },
  25. moduleNameMapper: {
  26. '^@services/(.*)$': '<rootDir>/src/services/$1',
  27. '^@models/(.*)$': '<rootDir>/src/models/$1',
  28. '^@controllers/(.*)$': '<rootDir>/src/controllers/$1',
  29. '^@middleware/(.*)$': '<rootDir>/src/middleware/$1',
  30. '^@utils/(.*)$': '<rootDir>/src/utils/$1',
  31. '^@config/(.*)$': '<rootDir>/src/config/$1',
  32. '^@types/(.*)$': '<rootDir>/src/types/$1',
  33. },
  34. setupFilesAfterEnv: ['<rootDir>/tests/setup.ts'],
  35. verbose: true,
  36. testTimeout: 30000, // 增加测试超时时间
  37. };