Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.
 
 
 
 

7.3 KiB

全功能证据映射与未覆盖规划

本文件是测试设计与源码断言核对,不是执行通过证据。最终结果由 results.jsonvalidation.jsonevidence/*.jsoncoverage.json 决定。

已校准的浏览器脚本

脚本 实际范围 证据边界
model-editor-closure.spec.ts 属性数值、PBR首槽、扩展标记、保存重开、撤销重做、视图开关/原生片段、新建/权限 已删除不存在的 object.* / viewport.* / permissions.* ID;变换模式按钮不等同真实 gizmo 拖拽,不能代填 view.move/rotate/scale
model-editor-assets-closure.spec.ts 主模型/外部环境真实上传、JSON往返、无效导入、保存失败和重试、发布封面/固定版本/离线步骤HTML 异常通过定向请求中断注入;恢复副本“存在”不等于恢复/隔离/下载全部UI已测;固定版本可取得不等于下游自动运行
model-editor-blueprint-closure.spec.ts 真实轨道/帧/曲线/蓝图库/接线/剪贴板/执行控制、真实点击/双击/auto事件;另有刻度/按键/录帧/分量、基准动作匹配/不匹配、搜索拖入/工具栏添加/画布操作专项 条件真假出口的补充检查标记为 runtime;第4专项才覆盖搜索/拖入和曲线分量路径断言,不把第1例仅切换选择器当成已验
model-editor-navigation-closure.spec.ts 独立原模型157副本;资源搜索/卡片切换、三内置环境保存重开、折叠树、鼠标镜头/聚焦、页签/分割条/Tab、预览±2秒/Esc、日志/统计、名称保存/真实30秒自动保存 三项真实用例已在私有预跑通过,截图41~47;此预跑不替代最终results,最终统一结果仍须核对
model-editor-interaction-closure.spec.ts 真实三维 gizmo 平移/旋转/缩放,撤销重做、保存重开;离开时关闭确认、保存失败保留、重试成功再离开 独立副本;只读投影定位手柄,不脚本改变模型姿态;注入503验证失败分支
model-editor-recovery-closure.spec.ts 同版本真实未存恢复→显式保存、旧版本下载隔离;受控GLB下载失败→UI重试、预检开关无写入和错误资源导入拒绝 恢复稿来自真实beforeunload,不预注入localStorage;较新服务端内容不被旧稿覆盖;服务端发布严格合同另由API测试验证

首批四份脚本显式计划关联 88/103 个功能 ID;随后新增交互/恢复两份脚本补上其中 7 项,时间轴/蓝图专项补 7 项,最终六份脚本显式关联 102/103 个功能 ID,多轨计算以明确 unit 证据关联。全部 ID 与 catalog 对齐,未发现未知 ID。这里记录的是“已写断言计划”,不是最终通过数;最终结果以 coverage.json 为准。

后续并行补测分工:时间轴/蓝图专项负责 timeline.seek/record/baselinecurve.axisblueprint.palette/add/canvas;资产专项负责恢复稿/加载失败/发布预检;宿主专项负责真实 gizmo 拖拽与离开确认。timeline.multitrack 以真实计算方法单元测试作独立证据,映射在 unit-coverage-plan.json,该计划文件本身不代表通过。最终生成器按实际证据动态计算,下面保留补测前的差距,便于对照补测来源。

补测前的15项差距(追溯记录)

功能 ID 补测前已有的验证 据此安排的补测范围
project.recovery 本轮 API 指纹回归与真实 beforeunload 方法回归:键顺序相同内容不写假稿;真实变化仍保留;现有 API 恢复合同 用户明确恢复/放弃/隔离/下载的真实对话框;同版本真实修改与旧版本分叉
project.leave 上一轮角色/权限回归及宿主聚焦合同 本轮模型编辑器脏状态取消、放弃、保存失败与上传忙时离开;不能用干净页面切路由代替
resource.loading 启动后readyFrame状态;本轮renderAssets真实DOM空目录/卡片回归 GLB下载或解析失败后中性失败状态、重试成功;不能把未加载空白当成功
view.move 属性XYZ保存重开;多轨中性基值单测 真实TransformControls平移手柄拖动、保存重开;当前只点击W模式
view.rotate 旋转数值输入保存;多轨旋转单测 真实旋转环拖动及撤销重做;当前只点击E模式
view.scale 缩放数值输入保存重开 真实缩放手柄拖动及保存;当前只点击R模式
timeline.seek 时间轴拖帧触发timechange合同;键盘/seek运行时已有回归 真实播放头/刻度点击、左右/Shift按键、时间码与视口同步
timeline.record 主类addKeyframeFromSelection源码已接;中性姿态单测 真实“记录关键帧”按钮捕获当前帧偏移,保存后回放一致
timeline.multitrack 本轮main实际capture/apply方法单测:最后有效轨道、静音/删除/重绑、保存基值 可用unit证据明确覆盖计算合同;需要多轨真实视口可见性截图时另加UI,不能冒称已拍
timeline.baseline 既有装备profile/动作生成合同 有匹配实际载入并保存;无匹配保留数据;当前没有单独确认框,不能写“取消验证通过”
curve.axis 现有UI只选Y再选X;向量其他分量保持的unit回归 修改不同轴数值后切显示轴,断言曲线变化且不改其他数据
blueprint.palette 当前点选创建七类型节点 搜索/清空、HTML5拖入节点,不能用脚本addNode冒充拖放
blueprint.add 当前节点库点选与节点新增unit 工具栏“添加节点”确实新增默认提示节点并进入历史/JSON
blueprint.canvas 现有用例点击“适应画布”;节点自身拖动 蓝图画布滚轮缩放、Space平移/适应,并验证节点图数据未意外变化
publish.preflight 发布API拒绝非法资源/固定版本合同;当前面板打开并真实发布 界面校验清单和服务端阻断对应,打开/关闭不改变工程;不能仅凭绿标判定有效

已有测试中的局部限制

  • property.identity 新增可见性/阴影真实DOM回归;补充UI目前检查只读标识与流程绑定字段。权限注入的“只读”标签需由宿主最终用例确认。
  • timeline.drag-key 已有真实拖动与碰撞合同,Alt取消吸附尚未单独通过浏览器验证。
  • blueprint.move 有单节点真实拖动与全选剪贴板;多选框选拖移并未单独截图。
  • blueprint.highlight 有真实执行与缺目标/隐藏目标/临时材质单测;呼吸幅度当前不是像素级曲线验收。
  • publish.cover 的真实成功上传、版本、封面URI已测;503/409失败保旧图由独立API合同补充,不能称该真实服务自然出现503。
  • selection.scope 补充用例增加明确整机根/部件对象断言;仍需避免把仅点击按钮当成三维目标操作。

本轮新增阻断回归

  1. 资源库启动:真实DOM复现两处单节点选择器误用后修复,覆盖卡片绑定/空目录。
  2. 保存后刷新假恢复稿:真实175快照逐字段无差异,仅environment键顺序不同;指纹统一递归排序对象键,保留数组顺序和真实值变化;beforeunload假稿/真稿均有回归。
  3. 状态标签:真实DOM验证隐藏祖先及castShadow;宿主通过span[data-model-editability]显示会话权限。

以上属于修复和证据分层,不新增 solo,也不把组件运行系统、完整离线三维包、下游自动运行三项待确认范围伪装成已实现。