# Golden Test Fixtures 运行:`python -m online_dev.report_manager.engine.test_golden` ## 格式 ```json { "name": "用例名", "snapshot": { "sheets": { ... } }, "cells": { "cells": [ ... ] }, "datasets": { "别名": [ { ... } ] }, "params": {}, "column_list": [], "expect": { "sheet1": { "行,列": "期望值" } } } ``` ## Golden 样例(23 fixtures) 运行后应输出 `ok (23 fixtures)`。 ### JNPF DB 真实样例 从 JNPF `jnpf_db_init.sql` 提取(人员花名册 列表/分组/行列): ```bash cd backend-fastapi python -m online_dev.report_manager.engine.fixtures.extract_jnpf_fixtures ``` | 文件 | 场景 | |------|------| | `golden_jnpf_db_user_list.json` | 列表 portrait | | `golden_jnpf_db_user_group.json` | 分组 | | `golden_jnpf_db_user_matrix.json` | 行列 landscape | 手写对标样例仍放在 `golden_jnpf_*.json` / `golden_*.json`, 在 `expect` 中填写本引擎 `transform()` 后应对的单元格值。 参考样例:`golden_jnpf_style.json`(参数 + 双列列表 + 占位符)。 ## 阶段说明 | 阶段 | 能力 | |------|------| | 已完成 | transform 流水线、分栏、表达式、图表 chartData、fillEmptyRows | | Phase 8 | 父格拓扑扩展、`polymerizationType`、JNPF golden、图表拾色器 | | Phase 8+ | 跨行上父格、全表 `row_registry`、`parent_scoped` 子格数据切片 | ## JNPF 父格 Golden | 文件 | 场景 | |------|------| | `golden_jnpf_parent_group.json` | 左父格 + 分组/列表 | | `golden_jnpf_top_parent.json` | 同行上父格链(年→月→金额) | | `golden_jnpf_cross_row.json` | 跨行上父格(同列子格优先显示) | | `golden_jnpf_poly_summary.json` | 汇总格 | | `golden_jnpf_export_list.json` | 字符串行列 + fillDirection |