Commit Graph

2 Commits

Author SHA1 Message Date
44214baa00 feat: 集成测试补 T05/T06 + 动画加速与多项基础设施修复
测试新增:
- T05 Free 自由路径(FreePathAutomationTests:完整动画 + 逐帧位置=路径点)
- T06 碰撞报告内容断言(CollisionReportAssertions 接入虚拟/真实物体测试)

服务端增强:
- list-model-items 端点(枚举物体:DisplayName/PathId/包围盒中心/祖先链)
- run-virtual-collision-test 支持 frameRate/durationSeconds(测试动画加速:15fps/5s)
- 测试执行串行锁(SemaphoreSlim,防客户端超时后任务占用 UI 线程并发污染)
- 标准路径清单/XML 增加自动测试_Free

Bug 修复:
- AnimationControlViewModel.InvalidateLastGeneratedReport(跨测试碰撞报告残留)
- 真实物体身份校验 ReferenceEquals→InstanceGuid(NW ModelItem 实例不保证同引用)
- 真实物体动态解析(ModelPath 跨会话不稳定,禁止硬编码 PathId)
- PathImportValidity 测试点 Id 随机化(PathPoints.Id 全局主键,p1/p2 固定会冲突)
- start-navisworks.ps1:启动前清理 AutoSave(避免恢复弹窗拦截)、文件关联打开模型、dismiss 兜底、启动 15s→4.4s

验证:集成测试 13/13 通过,完整集 6min→59.6s(动画 15fps/5s)
2026-08-04 18:13:26 +08:00
c9c29c7170 refactor: 依赖 Navisworks 的路径导入验证从单测迁移至集成测试
- 删除 UnitTests/Core/PathPersistenceTests.cs:单测进程无法初始化 Navisworks API,
  Rail/Hoisting 路径导入必经的长度计算(Point3D 访问)必然失败,测试'假通过'且每次产生 ERROR 日志噪音
- 新增集成测试 PathImportValidityAutomationTests:验证完整流程
  JSON/XML 导入 → Rail 属性映射 → 长度计算(含文档单位换算)→ 切换路径 → 完整动画/碰撞流程
- TestAutomationHttpService 新增 /api/test/import-route-file 端点(overwrite 语义保证可重复执行)
- NavisworksTestAutomationClient 新增 ImportRouteFileAsync/SelectRouteAsync/routeName 重载
- 修正 auto-test-routes.xml Rail 属性为有效枚举值(UnderRail/RailCenterLine,与原路径一致)

验证:单测 255/255 且 API must be initialized 错误日志归零;集成测试 6/6 通过
2026-08-02 21:19:23 +08:00