UNPKG

@darcytech/jest-preset-darcytech

Version:

jest 基础可共享配置

52 lines (51 loc) 2.38 kB
module.exports = { setupFilesAfterEnv: ['<rootDir>/node_modules/@darcytech/jest-preset-darcytech/lib/setupFilesAfterEnv.js'], collectCoverage: false, // 默认值,设置为true时,Jest 会收集测试覆盖率信息,但可能会显著降低测试速度 collectCoverageFrom: ['<rootDir>/src/**/*.{ts,tsx,js,jsx}', '!<rootDir>/src/**/*.d.ts'], // src文件夹下的所有.js,.jsx,.ts,.tsx 文件都会被用于收集测试覆盖率, .d.ts 文件不进行覆盖率收集。 moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'], // 默认值,指定模块文件的扩展名数组 moduleNameMapper: { '\\.(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>/node_modules/@darcytech/jest-preset-darcytech/lib/fileMock.js', '^src/(.*)$': '<rootDir>/src/$1', }, resetMocks: true, // 每次测试前自动重置 mock 状态 roots: ['<rootDir>'], // 默认值, jest 会在该配置中的路径下查找文件 testEnvironment: 'jsdom', // 默认值, 指定测试的环境,jsdom 是类浏览器环境 testMatch: ['<rootDir>/tests/**/*.{spec,test}.{ts,tsx,js,jsx}'], // 该配置表示,jest 应该在 tests 目录下查找项目的测试文件。 注意:不要同时配置 testMatch 和 testRegex fakeTimers: { enableGlobally: true, legacyFakeTimers: true, }, transform: { '^.+\\.(js|jsx|ts|tsx)$': [ '@swc/jest', { jsc: { parser: { syntax: 'typescript', tsx: true, dynamicImport: true, decorators: true, }, target: 'es2022', // false:正常模式尽可能地遵循 ECMAScript 6 的语义 true:松散模式产生更简单的 ES5 代码 loose: false, externalHelpers: true, transform: { legacyDecorator: true, react: { runtime: 'automatic', pragma: 'React.createElement', pragmaFrag: 'React.Fragment', refresh: false, }, }, }, }, ], }, // 指定哪些代码需要被编译 transformIgnorePatterns: ['/node_modules/'], // 不编译 node_modules 下的文件 verbose: true, watchPlugins: ['jest-watch-typeahead/filename', 'jest-watch-typeahead/testname'], };