docs(测试工具手册): game/tests/README.md 升级手册形态——头部三线分工声明(介绍=手册/规则与时机=test-conventions/闸清单=run_all_gates.sh 唯一落点)+工具速查表八件(判什么/结果谁判/什么时候用)+测量件发起规则指路;test-conventions.md 分工句原位扩一行指针(不推移行号);待办清单登记 gdstyle 引入条目(工程直入,2026-10-24 会话实测三件证据)。全量域闸绿(回执 full 档,07 doc_link 较基线改善)。gdstyle v0.4.0 兼容实测见待办清单条目现状节
This commit is contained in:
1 parent
59bf85c169
commit
53426fd073
3 files changed
+31
-2
No files matched your search
+22
-1
@@ -1,4 +1,4 @@
|
||||
# Test Infrastructure — Dungeon Sweeper
|
||||
# Test Manual — Dungeon Sweeper(测试工具手册)
|
||||
|
||||
**Engine**: Godot 4.7.2-stable(GDScript 单语言)
|
||||
**Test Framework**: 标准四级测试层(冒烟/单元/集成/系统)+ headless 场景探针与渲染 golden;gdUnit4 **deferred**(D2 OQ1 关闭形态——本仓库不引第三方测试框架,需求见下「门禁」节)
|
||||
@@ -6,6 +6,11 @@
|
||||
**Setup date**: 2026-09-12(2026-09-27 `7f24b640` 三层收敛:根 tests/ 并入 `game/tests/`、docs 并入 `design/engineering/`、production 解散)
|
||||
**参考实现**: `game/probe/`(场景探针族)· `game/sim/`(测量/诊断/模拟驱动件)(场景探针族——正式工程的活样板;系统测试断言面过渡宿主 `smoke_all.gd` 亦在此,迁移归断言迁移批)
|
||||
|
||||
本手册是测试面每件工具的介绍处:**它是什么、判什么、怎么单独跑、结果由谁判、什么时候会用它**。
|
||||
分工三线——介绍归本文;**规则与时机**(什么时候必须跑哪些测试、测试怎么写、怎么算合格)归
|
||||
`design/engineering/test-conventions.md`;**收口验收跑哪几道闸**(闸清单与改动域划分)只在
|
||||
`tools/run_all_gates.sh` 脚本内定义一处,本手册不另列闸清单。
|
||||
|
||||
## Directory Layout
|
||||
|
||||
```
|
||||
@@ -47,6 +52,21 @@ tests/
|
||||
|
||||
两口径数值不同且各自浮动,禁互相换算或写死。
|
||||
|
||||
## 工具速查(逐件:判什么 / 结果谁判 / 什么时候用)
|
||||
|
||||
| 工具 | 判什么 | 结果谁判 | 什么时候会用它 |
|
||||
|---|---|---|---|
|
||||
| `tools/run_smoke.py`(冒烟测试) | 这版能否启动、能否加载表、能否进主屏——零逻辑判定 | 退出码+脚本错误扫描 | 开机路径/表加载改动后的快速自检;收口由闸编排 |
|
||||
| `tools/run_system_test.py`(系统测试) | 真实玩法路径的行为断言面(推理→战斗→结算→进度推进) | 退出码+脚本错误扫描 | 玩法链路改动的调试期确认 |
|
||||
| `tests/run_all.gd`(单元与集成) | 公式/状态机/契约/跨系统闭环(40 套件 manifest) | 退出码+三硬闸(见下) | 新套件单跑调试;逻辑改动的最小单元复跑 |
|
||||
| `tools/probe_gate.sh`(场景探针,`--click`/`--full` 两模式) | UI 可达性、可见性、状态——真实实例化场景+真实输入路径 | 探针自检+退出码 | 新增 UI 区域的配套探针直跑与断言复核 |
|
||||
| `tools/render_gate.sh`(渲染 golden) | 画面基线——截图与基线图逐像素容差比对 | golden 比对脚本(依赖 PIL) | 主题/素材/排版类改动;窗口化运行,需开显示器 |
|
||||
| `game/tests/static_scan.sh`(S 域) | 项目纪律:RNG 单点/core 纯度/类型标注/文件头/注释禁词/旧符号残留 | 退出码(逐规则 FAIL 行) | 改产品码前后的快速自检;新增纪律先补扫描规则再修码 |
|
||||
| `tools/parity_anchor.py`(回放对拍) | 同种子下三变体逐位确定性 | 工具脚本逐位比对 | 本批触及数值/存档/RNG/结算面时;须用户批准发起 |
|
||||
| 测量件(`game/sim/`,逐件见下「游离脚本台账」) | 期望/分布读数——只给读数,不判对错 | 人工读 stdout 或配套工具脚本 | 调参与归因;MC 类一律用户发起(档位表见 `sim-data/README.md`「MC 采集档位表」) |
|
||||
|
||||
> 单件直跑是调试期最窄确认手段,**不构成验收**——验收只有 `tools/run_all_gates.sh` 一个入口(判定三硬闸见下「本地闸」节)。
|
||||
|
||||
## Running Tests
|
||||
|
||||
```bash
|
||||
@@ -121,6 +141,7 @@ timeout 120s godot --headless --script tests/run_all.gd
|
||||
|
||||
> **纪律**:本表是这些件的唯一在册处。新增手动测量脚本必须同批登记(用途 + 触发方式 + 结果由谁判);
|
||||
> 退役走 `design/engineering/doc-conventions.md` 第 10 节退役规则,禁止「没看见=死件」式清理。
|
||||
> 测量类批量的发起规则(档位与批准)见 `sim-data/README.md`「MC 采集档位表」——无数值改动禁重跑。
|
||||
|
||||
## Static Scan(提交前本地跑)
|
||||
|
||||
|
||||
Reference in new issue
Block a user