64 lines
No EOL
1.6 KiB
JavaScript
64 lines
No EOL
1.6 KiB
JavaScript
module.exports = {
|
||
preset: 'ts-jest',
|
||
testEnvironment: 'jsdom',
|
||
setupFilesAfterEnv: ['<rootDir>/src/setupTests.ts'],
|
||
moduleNameMapping: {
|
||
'^@/(.*)$': '<rootDir>/src/$1',
|
||
'\\.(css|less|scss|sass)$': 'identity-obj-proxy',
|
||
'\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$':
|
||
'<rootDir>/src/__mocks__/fileMock.js',
|
||
},
|
||
collectCoverageFrom: [
|
||
'src/**/*.{js,jsx,ts,tsx}',
|
||
'!src/**/*.d.ts',
|
||
'!src/index.tsx',
|
||
'!src/serviceWorker.ts',
|
||
'!src/setupTests.ts',
|
||
],
|
||
coverageThreshold: {
|
||
global: {
|
||
branches: 80,
|
||
functions: 80,
|
||
lines: 80,
|
||
statements: 80,
|
||
},
|
||
},
|
||
testMatch: [
|
||
'<rootDir>/src/**/__tests__/**/*.{js,jsx,ts,tsx}',
|
||
'<rootDir>/src/**/*.{test,spec}.{js,jsx,ts,tsx}',
|
||
],
|
||
transform: {
|
||
'^.+\\.(ts|tsx)$': 'ts-jest',
|
||
'^.+\\.(js|jsx)$': 'babel-jest',
|
||
},
|
||
transformIgnorePatterns: [
|
||
'[/\\\\]node_modules[/\\\\].+\\.(js|jsx|ts|tsx)$',
|
||
'^.+\\.module\\.(css|sass|scss)$',
|
||
],
|
||
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'],
|
||
testPathIgnorePatterns: ['/node_modules/', '/dist/'],
|
||
globals: {
|
||
'ts-jest': {
|
||
tsconfig: 'tsconfig.test.json',
|
||
},
|
||
},
|
||
reporters: [
|
||
'default',
|
||
[
|
||
'jest-junit',
|
||
{
|
||
outputDirectory: 'coverage',
|
||
outputName: 'junit.xml',
|
||
classNameTemplate: '{classname}',
|
||
titleTemplate: '{title}',
|
||
ancestorSeparator: ' › ',
|
||
usePathForSuiteName: true,
|
||
},
|
||
],
|
||
],
|
||
setupFiles: ['<rootDir>/src/setupTests.ts'],
|
||
testTimeout: 10000,
|
||
verbose: true,
|
||
clearMocks: true,
|
||
restoreMocks: true,
|
||
};
|