# Phase 8: 测试覆盖率刷新 审计日期: 2026-05-04 ## 1. Web 测试文件统计 `apps/web/src` 中 `*.test.*` 文件共 **59 个**,覆盖: - API 测试: 17 个(health api、auth、users、roles、orgs、dictionaries、config-modules、messages、workflow、auditLogs、pluginData、plugins) - Store 测试: 5 个(auth、health、app、message、workbenchStore、plugin) - 页面测试: 22 个(PatientList、AlertList、DoctorList、AppointmentList 等) - 工具/钩子测试: 4 个(useThemeMode、useDebouncedValue、exprEvaluator、renderWithProviders) - 常量测试: 1 个(health.test.ts) ## 2. 新增功能测试覆盖 | 模块 | 测试文件 | 状态 | |------|---------|------| | care_plan | **无** | **缺失** | | shift | **无** | **缺失** | | ble_gateway | **无** | **缺失** | | action_inbox | dashboard.test.ts 中间接覆盖 | 部分覆盖 | | family_proxy | **无** | **缺失** | | oauth | OAuthClientList.test.tsx | OK | | fhir | OAuthClientList.test.tsx(同上,OAuth 页面) | 部分覆盖 | | dialysis | DialysisManageList.test.tsx | OK | | AI 分析 | AiAnalysisList.test.tsx | OK | **5/7 新增模块无专属测试文件**: care_plan、shift、ble_gateway、family_proxy、fhir 无独立测试。 ## 3. MP 测试状态 `apps/miniprogram/__tests__/` 中仅 **4 个测试文件**,全部为 BLE 相关: - BLEManager.test.ts - DataBuffer.test.ts - DataSyncScheduler.test.ts - GenericBleAdapter.test.ts **新增业务功能(dialysis、consent、diagnosis、action-inbox、AI suggestion)无任何测试文件。** 确认 MP 测试覆盖: 业务层 **0**,仅 BLE 基础设施层有测试。 ## 4. 后端测试补充 `crates/erp-health/src/event.rs` 包含 **40+ 个单元测试**,覆盖: - 事件类型常量校验(命名规范、唯一性、值匹配) - 消费者前缀覆盖验证(13 个前缀覆盖测试) - Payload 契约测试(10+ 个场景) - EventBus 过滤订阅行为测试 - 消费者幂等 ID 唯一性 后端事件系统测试覆盖良好,但 **前端新增模块测试严重不足**。 ## 5. 建议 1. 优先为 care_plan、shift、ble_gateway、family_proxy 补充 API 层测试 2. MP 补充 dialysis/consent/diagnosis 服务层单元测试 3. 考虑为新增页面添加组件渲染测试