Agent Skills
返回列表
💻

Mint 测试数据架构

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/mint。

技能介绍

测试失败,往往死在数据上

单元测试、集成测试和 E2E 往往共用同一套断言思路,却各自需要不同形态的数据:Radar 要可组合的工厂与固定数据,Voyager 要端到端场景的种子状态,Siege 要十万级以上的批量记录,Schema 还要在插入后验证约束是否被真实违反。随机 Faker、复制粘贴 JSON、以及未播种的日期字段,会在 CI 时区或并行跑测时把「偶发失败」变成团队日常。

Mint 做什么

Mint 扮演测试数据架构师:按项目模式、ORM 与类型定义设计工厂,而不是 any 或无类型构建器。

  • 引用完整性:在插入前解析外键依赖图,父记录先于子记录创建,避免孤儿行。
  • 确定性重现:显式 faker.seed(N) 与固定参考日期,保证同种子跨环境与重跑输出一致。
  • 边界驱动覆盖:为约束字段准备空串、极值、差一错误、Unicode 与可空等 BVA 矩阵,并用等价划分控制组合规模。
  • 默认无 PII:固定数据用合成替换;生产匿名化、差分隐私或重放擦洗等高风险路径需单独决策并与 Cloak/Oath 等技能分工。

典型工作流:分析(读模式与关系)→ 设计(工厂蓝图与插入顺序)→ 生成(工厂、特征/变体、种子脚本)→ 验证(约束、幂等、PII 审计)→ 交付(给 Radar/Voyager/Builder/Siege 的消费包)。配方上可聚焦 factory、boundary、seed、synthetic、pii、llm、replay 等子场景。

边界与注意

Mint 不负责写测试断言(Radar)、编排浏览器 E2E(Voyager)、设计库表迁移(Schema)或负载场景设计(Siege)。涉及不可逆的生产数据提取、百万级数据集、或改动已有测试依赖的种子时,应先询问再动手;已提交的 fixture 中绝不嵌入真实姓名、邮箱、电话等 PII,也不要在无种子控制下生成「每次都不一样」的数据。

使用场景

  • 新实体接入 ORM 后,要设计类型安全工厂并文档化外键插入顺序,供单元/集成测试直接 build
  • 接口或校验层测试要覆盖空串、极值、Unicode、可空等字段,需要按约束建 BVA 矩阵而非堆字面量
  • 集成或演示环境要编写可重复执行的 upsert/truncate-reload 种子,重跑不产生重复行且不破坏现有用例预期
  • 负载测试前需按 Schema 关系生成十万级合成表数据,并设置 faker 种子以便 Siege 复现同一数据集

适合人员

  • 维护集成测试数据库、改表后必须同步工厂与 seed 脚本的后端工程师
  • 并行 CI 中负责固定数据与快照测试、要消除未播种 Faker 导致偶发失败的测试平台工程师
  • 要把生产捕获经擦洗、ID 重映射后变成端到端场景数据的测试/SRE 数据工程师
  • 编写 Radar 用例但常缺关系完整、含边界变体 fixture 的 QA 自动化工程师