Files
gplan-2/game/tests/unit
DKChan 6a7c25755f iter33 卡① T1+T2+T3: 存档制数据层三槽承载+启动态钉死+档操作原语+窥视读器+断言批
基线复读(T0,2026-10-21):冒烟 1156/0、单测 35 套件全绿、probe_gate --click 全绿。
承载面(save_manager.gd):SLOT_COUNT=3 三文件制 user://save_slot_N.json(§9 白名单①拍板,
槽1 禁复用旧名单独派生);启动态钉死 _ready 不读槽(内存=默认空态、无激活态、写盘一律拒——sv2/sv3);
旧单档一次性字节迁槽1(Q1 甲:幂等判据槽1已存在不重迁、源改名 .migrated.bak 留痕——sv12);
原语 activate_slot/create_slot/delete_slot(失败恢复切换前三态、删激活槽指针连清除——sv4/sv5/sv6);
窥视读器 peek_slot_summary 三态零副作用(sv7/sv8);测试隔离注入口 attach_slot_template+
peek_summary_at(契约7 单路径语义保持,attach_path/注入面零变化——sv11)。
断言批:三新单元套件(isolation 22/boot 8/summary 12)+冒烟 V2-s1..s4 启动态段+
_smoke_save_slots 段(往返×3/删档/新档/各槽迁移/窥视/旧档迁移);V2d-1 按削弱申报改写
boot 恒隐(卡② mn8 再承接)。
真实链实证:本机 user://save.json(v7 空档)已随批内首次 boot 迁入槽1,原件留痕 .migrated.bak。
2026-10-21 23:44:03 +08:00
..

tests/unit/ — 隔离单元测试

每系统一个子目录(现行:data_config/、core/、battle_settlement/、contracts/、presentation/)。协议与命名见 tests/README.md。

活样板:example_test.gd(本目录)——第一个真实测试请以它为模板。 参考实现:game/smoke/smoke_all.gd(752+ 条断言的组织方式)。