- 将 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 迁移与旧代码地图
2.5 KiB
2.5 KiB
测试情况
当前测试布局
- 测试集中在
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.csAssets/Modules/ShrinkEventBus/Runtime/ListenerList.csAssets/Modules/ShrinkEventBus/CodeGen/Editor/EventBusILPostProcessor.csAssets/Modules/ShrinkDataSaver.Integration.EventBus/DataSaverEventBusBridge.cs
结论
- 这个仓库的测试现状可以概括为:
ShrinkDataSaver覆盖较扎实,ShrinkEventBus和集成层明显偏弱。 - 如果后续要发包或稳定演进,优先级最高的补测点是 EventBus 核心行为与编译织入结果。