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