// Jest 共享配置 const baseConfig = { moduleFileExtensions: ['js', 'json', 'ts'], rootDir: '.', transform: { '^.+\\.(t|j)s$': 'ts-jest', }, testEnvironment: 'node', moduleNameMapper: { '^@/(.*)$': '/src/$1', }, }; module.exports = { ...baseConfig, collectCoverageFrom: ['src/**/*.(t|j)s', '!src/main.ts', '!src/**/*.module.ts'], coverageDirectory: './coverage', // 测试分组 projects: [ { ...baseConfig, displayName: 'unit', testMatch: ['/test/unit/**/*.spec.ts'], setupFilesAfterEnv: ['/test/setup.ts'], }, { ...baseConfig, displayName: 'integration', testMatch: ['/test/integration/**/*.spec.ts'], setupFilesAfterEnv: ['/test/setup.ts'], }, { ...baseConfig, displayName: 'e2e', testMatch: ['/test/e2e/**/*.(spec|e2e-spec).ts'], setupFilesAfterEnv: ['/test/setup.ts', '/test/e2e/setup-e2e.ts'], }, ], };