# 测试方案 时间戳:2026-05-04-03-50-07 ## 测试目标 验证概况统计、图表、真实 DICOM 预览、真实 STL 渲染、分割结果视图、项目创建/重命名、README 和部署均正常。 ## 静态检查 - 检查 `Overview.tsx` 图表容器是否有稳定尺寸。 - 检查 `ProjectLibrary.tsx` 是否包含三个 tab:`DICOM 影像`、`3D 模型`、`分割结果`。 - 检查 STL 模块列表不再对首个模块默认蓝色高亮。 - 检查 README 是否包含项目构建和运行方案。 ## 构建与类型检查 ```bash cd WebSite npm run lint npm run build ``` 预期结果: - TypeScript 检查通过。 - Vite 构建通过。 ## API 验证 ```bash curl -s http://127.0.0.1:4000/api/overview curl -s 'http://127.0.0.1:4000/api/projects/head-ct-demo/dicom-preview?slice=0' curl -I 'http://127.0.0.1:4000/api/projects/head-ct-demo/models/会厌.stl' curl -s -X POST http://127.0.0.1:4000/api/projects -H 'Content-Type: application/json' -d '{"name":"测试创建项目"}' curl -s -X PATCH http://127.0.0.1:4000/api/projects/head-ct-demo -H 'Content-Type: application/json' -d '{"name":"头部 CT 模型逆向体素化演示"}' ``` 预期结果: - overview 返回平稳趋势和 `exportedMaskProjects`。 - DICOM preview 返回 `width`、`height`、`pixels`。 - STL 文件返回 200。 - 创建项目返回新项目。 - 重命名项目成功。 ## 页面验证 - 总体概况不再显示“已处理项目总数 = 1”的误导文案。 - 控制台不再出现 Recharts 宽高 -1 警告。 - 项目库 DICOM 影像显示真实灰度切片。 - 项目库 3D 模型显示真实 STL。 - 项目库新增分割结果页,可下载 NII/NII.GZ。 - 项目列表可创建项目。 - 项目列表已有项目可点击编辑图标重命名。 - STL 模块列表所有项目同等样式,没有“会厌”特殊蓝色突出。 ## 回归风险 - DICOM 解析兼容性有限,当前先针对本项目 Little Endian CT 数据。 - STL 文件较大时首次加载可能需要等待。 - 新建项目默认无 DICOM/STL 数据,作为项目管理演示项。 ## 人工审核状态 本次用户明确要求无需人工二次确认。 状态:自动确认,继续执行。 ## 执行结果 - `npm run lint` 执行成功。 - `npm run build` 执行成功。 - Vite 仍有大 chunk 警告,当前不影响本次功能。 - `GET /api/overview` 返回: - `totalProjects: 1` - `exportedMaskProjects: 0` - `dicomCount: 300` - `modelCount: 9` - 已将“已处理项目”语义改为“已导出 Mask 项目”,避免项目总数为 1 时误导为已处理 1。 - `GET /api/projects/head-ct-demo/dicom-preview?slice=0` 返回: - `width: 512` - `height: 512` - `total: 300` - `fileName: 1.dcm` - `pixels` base64 数据。 - `GET /api/projects/head-ct-demo/models/会厌.stl` 返回 `HTTP/1.1 200 OK`。 - `POST /api/projects` 创建项目成功。 - `PATCH /api/projects/:id` 重命名项目成功。 - `POST /api/demo/reset` 执行成功,测试创建项目已清理,默认项目恢复。 - headless Chrome 打开页面后未捕获 `width(-1)`、`height(-1)` 或 Recharts 相关警告。 - `http://192.168.3.11:4000/` 返回 `HTTP/1.1 200 OK`。 - 当前服务由 `tmux` 会话 `revoxelseg-dicom` 托管。 ## 本次未创建 Python/conda 环境原因 本次 DICOM 预览、STL 渲染和 NIfTI 演示导出均可由现有 Node/React/Three.js 技术栈完成。为了避免引入不必要的运行环境复杂度,本次不创建 conda 环境;README 已说明后续真实体素化算法阶段再引入 Python/conda。