Jest 提供了多种配置方式来定制测试行为:
1. package.json 配置:
json{ "jest": { "testEnvironment": "node", "coverageThreshold": { "global": { "branches": 80, "functions": 80, "lines": 80, "statements": 80 } } } }
2. jest.config.js 配置文件:
javascriptmodule.exports = { testEnvironment: 'jsdom', setupFilesAfterEnv: ['<rootDir>/jest.setup.js'], moduleNameMapper: { '^@/(.*)$': '<rootDir>/src/$1', '\\.(css|less|scss)$': 'identity-obj-proxy' }, collectCoverageFrom: [ 'src/**/*.{js,jsx,ts,tsx}', '!src/**/*.d.ts', '!src/**/*.stories.{js,jsx,ts,tsx}' ], testMatch: [ '**/__tests__/**/*.{js,jsx,ts,tsx}', '**/*.{spec,test}.{js,jsx,ts,tsx}' ], transform: { '^.+\\.(js|jsx|ts|tsx)$': 'babel-jest' } };
常用配置选项:
testEnvironment:测试环境(node、jsdom)setupFilesAfterEnv:测试环境设置文件moduleNameMapper:模块路径映射collectCoverageFrom:覆盖率收集范围testMatch:测试文件匹配模式transform:文件转换配置coverageThreshold:覆盖率阈值testTimeout:测试超时时间
命令行选项:
jest --watch:监听模式jest --coverage:生成覆盖率报告jest --updateSnapshot:更新快照jest --verbose:详细输出