chore(代码卫生): 文件头零工作日志红线落文+全仓头注变更叙事清偿(2026-10-15 用户令)
- CLAUDE.md 硬性红线新增「文件头零工作日志」;code-conventions.md 新增 §1.4.1(含反面案例) - 全仓 .gd 文件头注清偿:删除全部带日期条目、批次叙事段与迁移退役叙述,保留并改写为 现在时的职责、接口契约、GDD 锚内容(main.gd 头注 42→31 行、save_manager.gd 49→45 行) - 纯注释改动零行为变更,按用户令免测试免冒烟
This commit is contained in:
1 parent
d5eea25f9c
commit
5f9d8e7b77
94 files changed
+386
-458
No files matched your search
@@ -1,7 +1,7 @@
|
||||
# tests/run_all.gd — 单元测试统一入口(ADR-0004 双载体的逻辑测试调用点,套件 manifest 协议 D2 AC-2b)
|
||||
# 用法:godot --headless --path game --script res://tests/run_all.gd (CI 侧包装外部超时:timeout 120s …)
|
||||
# 协议:套件清单逐条"套件 → 期望退出码";致命类独立进程(expect=1)。
|
||||
# 执行形态(单元测试与契约层批 2026-09-28):逐套件起独立 Godot 子进程实跑
|
||||
# 执行形态:逐套件起独立 Godot 子进程实跑
|
||||
#(OS.get_executable_path() 解析本引擎二进制——--script 模式无 autoload/全局标识符,
|
||||
# 每个测试文件自带显式实例化夹具,见 tests/README 协议要点)。
|
||||
# 场景探针(.tscn 载体)由 CI/轻闸单独步骤调用,不经本入口。
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# 运行:godot --headless --path game --script res://tests/unit/battle_settlement/damage_controller_test.gd
|
||||
# 覆盖:hero_attack / enemy_skill / board_typed / board_blast / board_flat_hero 五配方 +
|
||||
# 结账时机双模式(A 即结 / B 攒批 flush)+ 死亡作废(来源敌死/主角倒下 halt)+ requires 前置门 +
|
||||
# 池乘区收口(clamped_pool:池内加算→clamp;ac 型不入池)+ AC 合流(override/表值兜底/状态叠层)+
|
||||
# 池乘区 clamped_pool(池内加算→clamp;ac 型不入池)+ AC 合流(override/表值兜底/状态叠层)+
|
||||
# 行协议公共字段(architecture.md API Boundaries B1→D1)+ 同种子逐位复现。
|
||||
# 红线:期望值由表读值推导(零玩法数值字面量);零自建 RNG(RngService 统一流,夹具种子仅求复现)。
|
||||
# 断言口径:归因等式在「无敌人死亡」时严格成立;有死亡时降为下界(超额伤害溢出属合法语义)。
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# VERTICAL SLICE - NOT FOR PRODUCTION
|
||||
# 冒险断点续玩类单测(迭代 8 卡①/T9——断点写读往返、续玩确定性、续玩幂等、退出清断点)。
|
||||
# 冒险断点续玩类单测(断点写读往返、续玩确定性、续玩幂等、退出清断点)。
|
||||
# 核心断言 = 续玩确定性:断点快照(主种子+取数计数器)回填后,同种子续玩所开棋盘与中断前
|
||||
# 时间线逐位一致(rng.restore_adventure 契约的端到端证明);模拟/冒烟不注入 save_manager,
|
||||
# 断点面整体静默(MC 对拍零扰动的结构面)。
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# VERTICAL SLICE - NOT FOR PRODUCTION
|
||||
# 凭证件五件+留任二件单测(迭代 20 T4——需求卡片 V9/V10 验收条目 + F-1 刷新写错账修复钉面)。
|
||||
# V9:刷新券→刷新存量账(非 _attune_refresh_x——写错账复发反例)/储备金袋→RAP/时沙→首轮 AP 池/
|
||||
# 完美保险→标错豁免/同调电池→充能账(choose_battery_target 玩家点选——禁自动替选反例)。
|
||||
# V10:留任 2 件路由与值不变(GP 钱包/当即回血)+行动点上限归属性轴(bonus.ap 落点)。
|
||||
# 凭证件五件+留任二件单测(刷新券/储备金袋/时沙/完美保险/同调电池 五件 + 留任二件——刷新写错账修复钉面)。
|
||||
# 覆盖:刷新券→刷新存量账(非 _attune_refresh_x——写错账复发反例)/储备金袋→RAP/时沙→首轮 AP 池/
|
||||
# 完美保险→标错豁免/同调电池→充能账(choose_battery_target 玩家点选——禁自动替选反例);
|
||||
# 留任 2 件路由与值不变(GP 钱包/当即回血)+行动点上限归属性轴(bonus.ap 落点)。
|
||||
# 运行:godot --headless --path game --script res://tests/unit/core/feat_vouchers_test.gd(expect 0)
|
||||
extends SceneTree
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# VERTICAL SLICE - NOT FOR PRODUCTION
|
||||
# 池结构案D 行为单测(迭代 20 T2——需求卡片 V6/V7/V8 验收条目)。
|
||||
# V6 令牌三态(拿了消耗/没拿回池/只刷出不计);V7 曝光槽 2+1+子池空回退+凭证不进子池;
|
||||
# V8 概率与上限解耦(改 cap 不动概率位/改概率位不动 cap/cap 满提前退役只影响候选视图)。
|
||||
# 池结构行为单测。
|
||||
# 覆盖:令牌三态(拿了消耗/没拿回池/只刷出不计);曝光槽 2+1+子池空回退+凭证不进子池;
|
||||
# 概率与上限解耦(改 cap 不动概率位/改概率位不动 cap/cap 满提前退役只影响候选视图)。
|
||||
# 运行:godot --headless --path game --script res://tests/unit/core/pool_case_d_test.gd(expect 0)
|
||||
extends SceneTree
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# VERTICAL SLICE - NOT FOR PRODUCTION
|
||||
# 结算五段 Segment 单测(迭代 27 T2——需求卡片 V4 验收条目:Segment 类直接 new() + 编排器段序
|
||||
# 接线 + 真实一轮结算走段序出裁定/行)。段体逐位一致性由 parity_anchor 三变体对拍承载(V1 核心),
|
||||
# 结算五段 Segment 单测(Segment 类直接 new() + 编排器段序
|
||||
# 接线 + 真实一轮结算走段序出裁定/行)。段体逐位一致性由 parity_anchor 三变体对拍承载,
|
||||
# 本测兜段类可独立实例化与编排器装配面。
|
||||
# 运行:godot --headless --path game --script res://tests/unit/core/settle_segments_test.gd(expect 0)
|
||||
extends SceneTree
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# VERTICAL SLICE - NOT FOR PRODUCTION
|
||||
# 秘宝 TreasureItems 类单测(迭代 7 T7——结构冻结断言面;设计权威 秘宝.md + registry treasure_items)。
|
||||
# 秘宝 TreasureItems 类单测(结构冻结断言面;设计权威 秘宝.md + registry treasure_items)。
|
||||
# 覆盖:授予归因 / Used 不可逆 / 真视恒可用 / 预读点击级零信息拒绝 / 3×3 边缘窗口∩板 /
|
||||
# 叠加层三清(retire_overlays 不动库存)/ 关卡末 reset / 零随机(同操作序列重放两遍投影逐位)。
|
||||
# 运行:godot --headless --path game --script res://tests/unit/core/treasure_items_test.gd(expect 0)
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
# tests/unit/core/tree_requires_level_test.gd — R1 机制位:requires_level 等级阈值前置
|
||||
# (2026-10-13 用户推翻迭代 21 追认单 #1 裁撤案随批重立——卡片 v1.7 留任案形态落地:
|
||||
# schema requires_level Dictionary{node_id: n} + validate 悬空/阈值 <1/类型错即拒 +
|
||||
# (schema requires_level Dictionary{node_id: n} + validate 悬空/阈值 <1/类型错即拒 +
|
||||
# tree_can_buy 等级阈值判定 + 行板 gate_text 门槛文案投影。
|
||||
# 现役 meta_tree.tres 12 行零配置=机制位空转,判定面经本夹具直构行承载——
|
||||
# 承接卡片 V2 括注「若 R1 留任阈值形态→恢复『指定节点累计等级达标前不可购』断言」。)
|
||||
# 现役 meta_tree.tres 12 行零配置=机制位空转,判定面经本夹具直构行承载。)
|
||||
# 载体:run_all 单元套件(显式实例化夹具——--script 模式无 autoload)。
|
||||
extends SceneTree
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# tests/unit/data_config/config_db_fatal_oob_test.gd — 致命类用例(独立进程,期望退出码 1)
|
||||
# 进度坐标低于合法域(关卡序号 <1)触发 ConfigDB fail-fast(运行期数据致命——2026-09-18 用户拍板)。
|
||||
# 进度坐标低于合法域(关卡序号 <1)触发 ConfigDB fail-fast(运行期数据致命)。
|
||||
# 运行:godot --headless --path game --script res://tests/unit/data_config/config_db_fatal_oob_test.gd
|
||||
# 退出码协议:1 = fatal 通道正确触发(预期);2 = fatal 未触发(回归信号,与 1 区分便于诊断)。
|
||||
# 时序注:_fatal 的 quit 通道依赖 Engine.get_main_loop() 已注册主循环——--script 的 _init 期未注册,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# tests/unit/data_config/forge_table_test.gd — 锻造工坊配置表单测(迭代 23 T1)
|
||||
# 覆盖(需求卡片 §7.2):V1 六路线 schema 零违例(id 唯一/类型轴枚举/值域——出域行逐类构造各一行全部被拒)
|
||||
# + V11 满级特效留空(行字段闭集=无特效参数位 + 效果类型闭集 24 种零新增)+ 几何价格梯 20/30/45/67/101。
|
||||
# tests/unit/data_config/forge_table_test.gd — 锻造工坊配置表单测
|
||||
# 覆盖:六路线 schema 零违例(id 唯一/类型轴枚举/值域——出域行逐类构造各一行全部被拒)
|
||||
# + 满级特效留空(行字段闭集=无特效参数位 + 效果类型闭集 24 种零新增)+ 几何价格梯 20/30/45/67/101。
|
||||
# 运行:godot --headless --path game --script res://tests/unit/data_config/forge_table_test.gd(expect 0)
|
||||
# 协议(ADR-0004 + tests/README):extends SceneTree + quit(code);负向用例资源直构不碰生产表(enemy_table 先例)。
|
||||
extends SceneTree
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 致命类用例(独立进程,期望退出码 1)
|
||||
# reward_dangling_treasure——RewardTable aux 投放行双表校验(迭代 7 T1):aux 行 effect_id 引用 retired
|
||||
# 道具(loot_compass——2026-09-29 拍板①乙退役)时,config_db 跨表校验必须报 reward_dangling_treasure、
|
||||
# reward_dangling_treasure——RewardTable aux 投放行双表校验:aux 行 effect_id 引用 retired
|
||||
# 道具(夹具用 loot_compass)时,config_db 跨表校验必须报 reward_dangling_treasure、
|
||||
# load_tables 整体拒绝(退役件/失义件不得出现在掉落投放面)。
|
||||
# 运行:godot --headless --path game --script res://tests/unit/data_config/reward_dangling_treasure_test.gd
|
||||
# 退出码协议:1 = 校验正确拒绝(预期);2 = 违规表被放行(回归信号)。
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
# 致命类用例(独立进程,期望退出码 1)
|
||||
# treasure_target_violation——真视窄域护栏(秘宝 GDD 结构冻结,迭代 7 T1):真视类行 target
|
||||
# treasure_target_violation——真视窄域护栏(秘宝 GDD 结构冻结):真视类行 target
|
||||
# 越域至 board_wide 时,TreasureItemTable.validate 必须报 load_bearing 错、load_tables 整体拒绝。
|
||||
# 迭代 22 T1:注入主语换代 sky_eye(新目录真视行 reveal_tiles——旧 nest_pendulum 行随 12 行换代退役;
|
||||
# 护栏本体扩面=mine_reveal/reveal_tiles 两 kind 同守 REVEAL_KINDS)。
|
||||
# 注入主语 = sky_eye(真视行 reveal_tiles);护栏本体 = mine_reveal/reveal_tiles 两 kind 同守 REVEAL_KINDS。
|
||||
# 运行:godot --headless --path game --script res://tests/unit/data_config/treasure_target_violation_test.gd
|
||||
# 退出码协议:1 = 校验正确拒绝(预期);2 = 违规表被放行(回归信号)。
|
||||
# 时序注:纯加载期校验——不触运行期 fatal 通道,断言 load_tables 返回 false + 诊断在案即 quit(1)。
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# VERTICAL SLICE - NOT FOR PRODUCTION
|
||||
# 模态编排纯逻辑类单测(迭代 27 T4——需求卡片 V6 验收条目:ModalFlow 直接 new() 进 run_all;
|
||||
# 互斥域谓词/三例外输入锁/演播后排窗挂起/演播完边沿派发/遮挡记账——原组合根注释纪律面的
|
||||
# 结构化单测缝首次落地)。载体零场景零树——纯 RefCounted + 哑 Control。
|
||||
# 模态编排纯逻辑类单测(ModalFlow 直接 new() 进 run_all;
|
||||
# 互斥域谓词/三例外输入锁/演播后排窗挂起/演播完边沿派发/遮挡记账)。
|
||||
# 载体零场景零树——纯 RefCounted + 哑 Control。
|
||||
# 运行:godot --headless --path game --script res://tests/unit/presentation/modal_flow_test.gd(expect 0)
|
||||
extends SceneTree
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# VERTICAL SLICE - NOT FOR PRODUCTION
|
||||
# 轮间结算节奏化断言批(迭代 8 卡⑦ AC⑤/T9——逻辑先行断言面):
|
||||
# 轮间结算节奏化断言(逻辑先行断言面):
|
||||
# ① 演出队列排空前后核心逻辑状态逐位一致(演出关停不产生分叉——排播队列零核心触碰的结构证明);
|
||||
# ② 零丢行:step_row 信号总数 = 明细带实收行数(排播/排空两路都不吞行);
|
||||
# ③ 段间延迟取数面双态(常态 >0 / 减动效 =0 归零不跳过——pace_delay_for 直读)。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# tests/unit/presentation/ui_font_asset_test.gd — CJK 随包字体资产契约测试(T3 字体卡)
|
||||
# tests/unit/presentation/ui_font_asset_test.gd — CJK 随包字体资产契约测试
|
||||
# 运行:godot --headless --path game --script res://tests/unit/presentation/ui_font_asset_test.gd
|
||||
# 契约源:2026-09-27 用户拍板 Fusion Pixel OFL(CJK 覆盖+授权干净)+ battle.md C6 headless 判据
|
||||
# 契约源:Fusion Pixel OFL(CJK 覆盖+授权干净)+ battle.md C6 headless 判据
|
||||
#(注入字体非空 + 中文字形 has_char + 采样文本宽度 > 0——实际光栅观感归真人目检)。
|
||||
# 路径常量从 UiKit 单点读取(字体路径改动 = 断言随动,禁测试侧复制字面量路径)。
|
||||
# 前置:fresh checkout 需先 --editor --quit 刷导入缓存(.ttf 经导入管线成 FontFile——全素材同纪律)。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# tests/unit/test_kit.gd — 单元测试协议样板单点(T6 样板收口批 2026-10-02)
|
||||
# 收口范围:11 份套件的 _check/_problems 样板(计数器 + PASS/FAIL 行 + 汇总退出)+
|
||||
# reward_dangling_treasure/treasure_target_violation 两致命类用例各自复制的 BAD 表目录夹具。
|
||||
# tests/unit/test_kit.gd — 单元测试协议样板单点
|
||||
# 覆盖:各套件 _check/_problems 样板(计数器 + PASS/FAIL 行 + 汇总退出)+
|
||||
# 致命类用例 BAD 表目录夹具。
|
||||
# 用法(--script 模式无 autoload/全局标识符——禁 class_name 裸引用,使用方 preload):
|
||||
# const Kit := preload("res://tests/unit/test_kit.gd")
|
||||
# Kit.check("断言描述", cond) # 计数 + 即时 PASS/FAIL 行
|
||||
|
||||
Reference in new issue
Block a user