Files
cneicy d74c2f08ca feat(packages): 内置 SDK 包并完善 ContextLoader 集成
- 将 ShrinkEventBus、ShrinkDataSaver 及其 EventBus 集成从 gitlink 转为仓库直接维护的完整 UPM 包,补齐运行时、编辑器工具、测试与文档
- 新增 Command 和 Network 的 App 集成组件,支持 ContextLoader 服务发布、可逆注销及 Network Loopback 生命周期管理
- 更新 Starter 与演示组合逻辑,缺失模块时可注册、已有兼容安装器时可覆盖,并补充宿主启动断言
- 升级内部包依赖与 Shared CodeGen 包定义,放宽 Integration.App 包的 Git 忽略规则
- 将独立服务器生成器改为基于已编译程序集的语义扫描,支持 partial、复杂泛型、命名冲突检测及模板 SHA-256 覆写保护
- 新增 Network 语义扫描、模板保护和 App 组件生命周期测试
- 新增真实 UPM 消费工程验证脚本,校验内部版本一致性、程序集加载及 EditMode 测试
- 重构当前架构文档并归档已完成的 Cordis 迁移与旧代码地图
2026-08-18 18:06:34 +08:00

66 lines
2.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 测试情况
## 当前测试布局
- 测试集中在 `Assets/Modules/ShrinkDataSaver/Tests`
- 测试程序集定义见 `Assets/Modules/ShrinkDataSaver/Tests/ShrinkDataSaver.Tests.asmdef`
- 该 asmdef
- 仅在 `Editor` 平台启用
- 依赖 `UnityEngine.TestRunner``UnityEditor.TestRunner`
- 通过 `UNITY_INCLUDE_TESTS` 控制
- 额外引用 `Newtonsoft.Json.dll`
## 已覆盖模块
- `Assets/Modules/ShrinkDataSaver/Tests/ShrinkSaveTests.cs`
- 模块注册
- 保存、加载、删除
- 事件触发
- 关键模块失败行为
- 版本迁移事件
- 查询接口
- 自动保存间隔
- 元数据读取
- `LoadedSlot` 状态
- 多模块往返
- `Assets/Modules/ShrinkDataSaver/Tests/ShrinkSettingsTests.cs`
- 设置读写、监听、持久化与防抖行为
- `Assets/Modules/ShrinkDataSaver/Tests/SaveEncryptorTests.cs`
- 加解密往返、错误密码、空输入等边界
- `Assets/Modules/ShrinkDataSaver/Tests/MigrationChainTests.cs`
- 注册、链式迁移、缺步、回滚
- `Assets/Modules/ShrinkDataSaver/Tests/DataSerializerTests.cs`
- JSON 序列化基础行为
- `Assets/Modules/ShrinkDataSaver/Tests/SaveTypesTests.cs`
- 类型层面的默认值与结构行为
## 测试风格
- 同时使用同步 NUnit 测试和基于 `UniTask.ToCoroutine``UnityTest`
- 使用 `MockStorageProvider` 模拟存储后端,避免真实磁盘依赖。
- 通过 `ResetForTesting()``MigrationChain.Clear()` 等内部重置方法控制静态状态污染。
## 当前数量
- 当前扫描到 `[Test]``[UnityTest]` 标记共 `78` 个。
- 测试密度主要集中在 `ShrinkDataSaver`,并未均匀覆盖整个仓库。
## 明显缺口
- 没有看到 `ShrinkEventBus` 对应的测试目录。
- `EventBus` 的优先级排序、取消传播、异步处理、自动注册织入结果,没有自动化测试证据。
- 编辑器窗口也没有独立测试。
- 没有发现 CI 配置文件,说明测试是否自动执行未知,当前更像本地手动运行模式。
## 适合后续补强的位置
- `Assets/Modules/ShrinkEventBus/Runtime/EventBus.cs`
- `Assets/Modules/ShrinkEventBus/Runtime/ListenerList.cs`
- `Assets/Modules/ShrinkEventBus/CodeGen/Editor/EventBusILPostProcessor.cs`
- `Assets/Modules/ShrinkDataSaver.Integration.EventBus/DataSaverEventBusBridge.cs`
## 结论
- 这个仓库的测试现状可以概括为:`ShrinkDataSaver` 覆盖较扎实,`ShrinkEventBus` 和集成层明显偏弱。
- 如果后续要发包或稳定演进,优先级最高的补测点是 EventBus 核心行为与编译织入结果。