# 前端测试补充计划 ## 测试补充原则 1. 按依赖层级从底层到上层进行测试 2. 每个模块测试通过后再进行下一个 3. 相关联模块全部测试通过后提交 ## 测试补充顺序 ### 阶段 1: Lib 层基础工具测试 **优先级: 高** - 这是其他模块依赖的基础 | 序号 | 文件 | 测试文件 | 状态 | 依赖 | |------|------|----------|------|------| | 1.1 | lib/config.ts | lib/config.test.ts | ✓ 已测 | 无 | | 1.2 | lib/device-fingerprint.ts | lib/device-fingerprint.test.ts | ✓ 已测 | 无 | | 1.3 | lib/errors/index.ts | lib/errors/index.test.ts | ✓ 已测 | 无 | | 1.4 | lib/storage/index.ts | lib/storage/index.test.ts | ✓ 已测 | 无 | | 1.5 | lib/hooks/useBreadcrumbs.ts | lib/hooks/useBreadcrumbs.test.ts | ✓ 已测 | 无 | | 1.6 | lib/http/index.ts | lib/http/index.test.ts | ✓ 已测 | lib/storage | **阶段提交点**: 所有 lib 测试通过后提交一次 --- ### 阶段 2: Services 层 API 服务测试 **优先级: 高** - 页面组件依赖的服务层 | 序号 | 文件 | 测试文件 | 状态 | 依赖 | |------|------|----------|------|------| | 2.1 | services/devices.ts | services/devices.test.ts | ✓ 已测 | lib/http | | 2.2 | services/login-logs.ts | services/login-logs.test.ts | ✓ 已测 | lib/http | | 2.3 | services/operation-logs.ts | services/operation-logs.test.ts | ✓ 已测 | lib/http | | 2.4 | services/permissions.ts | services/permissions.test.ts | ✓ 已测 | lib/http | | 2.5 | services/profile.ts | services/profile.test.ts | ✓ 已测 | lib/http | | 2.6 | services/roles.ts | services/roles.test.ts | ✓ 已测 | lib/http | | 2.7 | services/settings.ts | services/settings.test.ts | ✓ 已测 | lib/http | | 2.8 | services/stats.ts | services/stats.test.ts | ✓ 已测 | lib/http | | 2.9 | services/import-export.ts | services/import-export.test.ts | ✓ 已测 | lib/http | **阶段提交点**: 所有 services 测试通过后提交一次 --- ### 阶段 3: Components 层组件测试 **优先级: 中** - 可复用的 UI 组件 #### 3.1 通用组件 | 序号 | 文件 | 测试文件 | 状态 | 依赖 | |------|------|----------|------|------| | 3.1.1 | components/common/PageHeader/PageHeader.tsx | PageHeader.test.tsx | 待测 | 无 | | 3.1.2 | components/common/ErrorBoundary/index.ts | ErrorBoundary.test.tsx | ✓ 已测(已有) | 无 | #### 3.2 反馈组件 | 序号 | 文件 | 测试文件 | 状态 | 依赖 | |------|------|----------|------|------| | 3.2.1 | components/feedback/PageState/index.ts | PageState.test.tsx | ✓ 已测(已有) | 无 | #### 3.3 路由守卫组件 | 序号 | 文件 | 测试文件 | 状态 | 依赖 | |------|------|----------|------|------| | 3.3.1 | components/guards/RequireAdmin.tsx | RequireAdmin.test.tsx | ✓ 已测(已有) | lib/auth | | 3.3.2 | components/guards/RequireAuth.tsx | RequireAuth.test.tsx | ✓ 已测(已有) | lib/auth | #### 3.4 布局组件 | 序号 | 文件 | 测试文件 | 状态 | 依赖 | |------|------|----------|------|------| | 3.4.1 | components/layout/PageLayout/ContentCard.tsx | ContentCard.test.tsx | ✓ 已测 | 无 | | 3.4.2 | components/layout/PageLayout/FilterCard.tsx | FilterCard.test.tsx | ✓ 已测 | 无 | | 3.4.3 | components/layout/PageLayout/TableCard.tsx | TableCard.test.tsx | ✓ 已测 | 无 | | 3.4.4 | components/layout/PageLayout/TreeCard.tsx | TreeCard.test.tsx | ✓ 已测 | 无 | | 3.4.5 | components/layout/PageLayout/PageLayout.tsx | PageLayout.test.tsx | ✓ 已测 | 以上组件 | **阶段提交点**: 所有 components 测试通过后提交一次 --- ### 阶段 4: Layouts 层布局测试 **优先级: 中** | 序号 | 文件 | 测试文件 | 状态 | 依赖 | |------|------|----------|------|------| | 4.1 | layouts/AuthLayout/AuthLayout.tsx | AuthLayout.test.tsx | ✓ 已测 | 无 | **阶段提交点**: layouts 测试通过后提交一次 --- ### 阶段 5: 页面细节组件测试 **优先级: 低** - 页面级组件已有主要测试 | 序号 | 文件 | 测试文件 | 状态 | 依赖 | |------|------|----------|------|------| | 5.1 | pages/admin/LoginLogsPage/LoginLogDetailDrawer.tsx | LoginLogDetailDrawer.test.tsx | ✓ 已测 | services/login-logs | | 5.2 | pages/admin/OperationLogsPage/OperationLogDetailDrawer.tsx | OperationLogDetailDrawer.test.tsx | ✓ 已测 | services/operation-logs | | 5.3 | pages/admin/ProfileSecurityPage/ProfileSecurityPage.tsx | 已有测试 | 检查覆盖率 | 多个 services | **阶段提交点**: 最终提交 --- ## 执行流程 对于每个测试文件: 1. 阅读源文件,理解功能和接口 2. 创建测试文件,编写测试用例 3. 运行测试确保通过 4. 检查相关联模块测试是否仍然通过 5. 阶段完成后提交 ## 当前进度 - [x] 阶段 1: Lib 层测试 ✓ (已提交) - [x] 阶段 2: Services 层测试 ✓ (已提交) - [x] 阶段 3: Components 层测试 ✓ (已提交) - [x] 阶段 4: Layouts 层测试 ✓ (已提交) - [x] 阶段 5: 页面细节组件测试 ✓ (已提交) **总测试数**: 518 个测试,82 个测试文件,全部通过