mirror of
https://github.com/Silentely/eSIM-Tools.git
synced 2026-09-02 22:14:02 +08:00
- 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 惯用写法
83 lines
1.7 KiB
JavaScript
83 lines
1.7 KiB
JavaScript
/**
|
||
* 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
|
||
};
|