SuperAPI AI 工具集

cmd-golden-tests

测试与质量

查看项目

更新于 10-16 02:37

技能介绍

用途:为项目建立或扩展 golden(快照)测试,把流水线或子系统的精确输出保存为参考文件,后续运行若偏离即失败,从而在解析、映射、迁移、导出等环节变化时精确定位差异。

主要能力与内容:提供参考实现 boredm/gint_to_boredm,涉及 Makefile 目标、快照脚本、fixtures 与工作流 golden。给出五个设置问题:fixture 模式、被测 API、golden 真值数据集、更新时机、失败与误报漏报处理。

使用方式:API 调用可选直接函数调用、TestClient 的 HTTP 端点或完整工作流三类;golden 真值可分语义 golden(单紧凑文件,剔除时间戳、路径、二进制哈希、作业 ID 等易变字段并按字典键排序)、阶段级 golden(按 {phase}_{schema}.json 每阶段一文件)或单元测试式 fixture(含 baseline、mutation、restored 步骤,适合幂等与生命周期测试)。Makefile 命名约定:golden-{dataset}-test、-wf、-verify、-update,以及 -phase-verify、-phase-update。快照脚本模式含 build_snapshot、compare_to_golden(difflib 统一 diff 着色)、write_golden,CLI 标志有 --verify、--update-golden、--phase-goldens、--update-phase-goldens、--schema、--all-schemas。更新流程必须显式:跑完整流水线、查看 diff、判断是预期变更还是回归、再执行更新命令。

限制与注意:不要放入时间戳、文件系统路径、二进制内容或校验和、缓存指纹、作业 ID、运行 UUID,以及能由计数或摘要替代的完整 JSON 负载;回归应修根因而非更新 golden 掩盖;误报应改快照提取器而非 golden;漏报应增加阶段级 golden 或收紧快照;fixture 需签入仓库或说明获取方式、足够小可在 CI 运行、覆盖真实边缘情况;CI 应在 golden 出现差异时使构建失败且不自动更新。