31 lines
777 B
JavaScript
31 lines
777 B
JavaScript
|
|
/**
|
||
|
|
* Jest配置 - 支持TypeScript和React测试
|
||
|
|
*/
|
||
|
|
|
||
|
|
module.exports = {
|
||
|
|
preset: 'ts-jest',
|
||
|
|
testEnvironment: 'jsdom',
|
||
|
|
setupFilesAfterEnv: ['<rootDir>/src/setupTests.ts'],
|
||
|
|
moduleNameMapping: {
|
||
|
|
'^@/(.*)$': '<rootDir>/src/$1'
|
||
|
|
},
|
||
|
|
transform: {
|
||
|
|
'^.+\\.(ts|tsx)$': ['ts-jest', {
|
||
|
|
tsconfig: 'tsconfig.json'
|
||
|
|
}],
|
||
|
|
'^.+\\.(js|jsx)$': 'babel-jest'
|
||
|
|
},
|
||
|
|
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json'],
|
||
|
|
testMatch: [
|
||
|
|
'<rootDir>/src/**/__tests__/**/*.(ts|tsx|js|jsx)',
|
||
|
|
'<rootDir>/src/**/?(*.)(spec|test).(ts|tsx|js|jsx)'
|
||
|
|
],
|
||
|
|
collectCoverageFrom: [
|
||
|
|
'src/**/*.{ts,tsx}',
|
||
|
|
'!src/**/*.d.ts',
|
||
|
|
'!src/setupTests.ts',
|
||
|
|
'!src/**/__tests__/**'
|
||
|
|
],
|
||
|
|
coverageDirectory: 'coverage',
|
||
|
|
coverageReporters: ['text', 'lcov', 'html']
|
||
|
|
};
|