Files
eSIM-Tools/jest.config.js
Abner 75da15edff 🐛 fix: 修复 PR 评审发现的 11 项问题
- data.data 空值保护:data?.data?.eSims 防止 TypeError
- directFetchMode 移至成功路径设置,失败时重置为 false
- SMS 卡片切换时隐藏 directFetchSection,避免双内联区同时可见
- modeBadge 直取模式下隐藏"设备更换"徽标
- tl() 文案迁移至 LITERAL_TRANSLATIONS,修复英文环境回退中文
- "拉取中"状态类型从 success 改为 info
- SSN radio 查询限定到 picker 容器内
- jest.config 补全 .spec.js 排除规则
- innerHTML 改用 DOM API 构建(pullBtn + renderSsnPicker)
- 测试 fail() 替换为 expect().rejects 惯用写法
2026-05-28 20:12:19 +08:00

83 lines
1.7 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/**
* Jest 测试框架配置
*/
module.exports = {
// 测试环境
testEnvironment: 'jsdom',
// 覆盖率提供器:使用 V8 替代 babel-plugin-istanbul兼容 Node.js 22+
coverageProvider: 'v8',
// 测试文件匹配模式
testMatch: [
'**/tests/**/*.test.js',
'**/tests/**/*.spec.js',
'**/__tests__/**/*.js'
],
// 忽略的文件/目录
testPathIgnorePatterns: [
'/node_modules/',
'/dist/',
'/netlify/',
'/.netlify/'
],
// 覆盖率收集
collectCoverageFrom: [
'src/js/modules/**/*.js',
'src/giffgaff/js/modules/**/*.js',
'src/simyo/js/modules/**/*.js',
'!src/js/modules/**/*.test.js',
'!src/js/modules/**/*.spec.js',
'!src/giffgaff/js/modules/**/*.test.js',
'!src/giffgaff/js/modules/**/*.spec.js',
'!src/simyo/js/modules/**/*.test.js',
'!src/simyo/js/modules/**/*.spec.js',
'!**/node_modules/**',
'!**/dist/**'
],
// 覆盖率报告格式
coverageReporters: [
'text',
'text-summary',
'html',
'lcov'
],
// 覆盖率阈值(逐步提升:当前 34% statements目标 60%
coverageThreshold: {
global: {
branches: 70,
functions: 65,
lines: 30,
statements: 30
}
},
// 模块名映射
moduleNameMapper: {
'\\.(css|less|scss|sass)$': '<rootDir>/tests/__mocks__/styleMock.js',
'\\.(gif|ttf|eot|svg|png|jpg|jpeg)$': '<rootDir>/tests/__mocks__/fileMock.js'
},
// 转换器配置
transform: {
'^.+\\.js$': 'babel-jest'
},
// 设置文件
setupFilesAfterEnv: ['<rootDir>/tests/setup.js'],
// 详细输出
verbose: true,
// 清除模拟
clearMocks: true,
// 恢复模拟
restoreMocks: true
};