Files
LingandRX a163297de4 develop (#68)
* docs(AGENTS.md): 添加 Git Commit 必须使用中文描述的规范
* docs: 更新测试数据生成器功能设计文档
* refactor: 删除死代码
* docs: 统一测试数据生成器文档,移除 SQL/TypeScript 导出,修复接口命名不一致
* feat: 实现测试数据生成器功能
* docs: 更新 README 和 AGENTS 文档,补充测试数据生成器模块说明
2026-06-07 00:04:53 +08:00

7.2 KiB
Raw Permalink Blame History

核心功能

功能概览

功能模块 功能点 说明 优先级
字段配置 添加字段 可视化添加数据字段 P0
删除字段 删除不需要的字段 P0
字段排序 拖拽调整字段顺序 P1
字段命名 自定义字段名称 P0
必填/选填设置 控制字段是否必填 P0
空值率配置 选填字段空值概率 P1
生成器系统 生成器选择 从生成器库中选择 P0
参数配置 配置生成器参数 P0
实时预览 配置时查看生成结果 P1
数据生成 批量生成 支持 10000+ 条数据 P0
唯一性约束 保证字段值唯一 P1
组合策略 自动选择生成策略 P1
数据预览 生成前预览数据 P1
数据导出 JSON 导出 导出为 JSON 格式 P0
CSV 导出 导出为 CSV 格式 P0

功能详情

1. 字段配置

添加字段

  • 用户点击"添加字段"按钮
  • 弹出生成器选择器
  • 选择生成器后,自动创建新字段
  • 字段默认名称为生成器名称

删除字段

  • 每个字段右侧有删除按钮
  • 点击后弹出确认对话框
  • 确认后删除该字段

字段排序

  • 支持拖拽排序
  • 支持上移/下移按钮
  • 排序后预览数据同步更新

字段命名

  • 字段名称可自定义
  • 支持中英文命名
  • 同一规则内字段名不可重复

必填/选填设置

  • 每个字段可设置为"必填"或"选填"
  • 必填字段: 100% 生成数据
  • 选填字段: 可配置空值概率(0-100%
  • 默认所有字段为必填

空值率配置

  • 选填字段可单独设置空值率
  • 提供预设值:低(20%)、中(50%)、高(80%)
  • 支持滑块精细调节(0-100%
  • 未单独设置的选填字段使用全局默认空值率

2. 生成器系统

生成器选择

  • 以分类方式展示生成器
  • 支持搜索生成器
  • 点击选择后添加到字段配置

价格生成器(业务数据)

生成真实的价格数据,支持多种策略:

策略 说明 适用场景
真实分布 对数正态分布,模拟真实商品价格 通用电商场景
均匀随机 所有价格等概率 测试数据
心理定价 .99/.98/.95 结尾 营销场景

参数配置

  • 最低价/最高价:控制价格区间
  • 小数位数:0(整数)、1、2 位
  • 生成策略:选择分布类型

年龄生成器(个人信息)

生成真实分布的年龄数据:

策略 说明 适用场景
真实分布 正态分布,均值 35,标准差 10 通用用户数据
人口比例 按中国人口年龄比例分布 市场调研数据
均匀随机 所有年龄等概率 测试数据

参数配置

  • 最小年龄/最大年龄:控制年龄区间
  • 生成策略:选择分布类型

数量生成器(业务数据)

生成真实分布的数量数据:

策略 说明 适用场景
真实分布 泊松分布,大多数购买 1-3 件 零售订单
批发模式 10-100 之间均匀分布 批发订单
均匀随机 所有数量等概率 测试数据

参数配置

  • 最小值/最大值:控制数量区间
  • 生成策略:选择分布类型

评分生成器(业务数据)

生成真实分布的评分数据:

策略 说明 适用场景
真实分布 偏态分布,偏向高分 电商平台
严格评价 偏态分布,偏向低分 严格评审
均匀随机 所有评分等概率 测试数据

参数配置

  • 最低分/最高分:控制评分区间
  • 小数位数:0、1 位
  • 生成策略:选择分布类型

折扣生成器(业务数据)

生成真实分布的折扣数据:

策略 说明 适用场景
心理定价 常见折扣点(8折、9折等) 电商促销
清仓模式 大折扣区间(3-7折) 清仓处理
均匀随机 所有折扣等概率 测试数据

参数配置

  • 最低折扣/最高折扣:控制折扣区间(0.1-0.9)
  • 生成策略:选择分布类型

库存生成器(业务数据)

生成真实分布的库存数据:

策略 说明 适用场景
真实分布 指数分布,大多数库存较少 通用商品
热销商品 低库存区间(0-50 热销商品
均匀随机 所有库存等概率 测试数据

参数配置

  • 最小库存/最大库存:控制库存区间
  • 生成策略:选择分布类型

参数配置

  • 每个生成器有对应的参数配置界面
  • 必填参数标记星号
  • 修改参数后实时预览更新

实时预览

  • 配置参数时,右侧预览区实时更新
  • 显示 5-10 条示例数据
  • 帮助用户确认配置是否正确

3. 数据生成

批量生成

  • 支持配置生成数量
  • 使用 Web Worker 后台生成
  • 支持 10000+ 条数据
  • 生成过程中显示进度条

唯一性约束

  • 每个字段可单独设置唯一性约束
  • 启用后,该字段生成的值不会重复
  • 如果无法生成唯一值,使用重试机制

组合策略(唯一性生成)

系统根据数据量自动选择最优生成策略:

数据量 策略 说明
≤ 1000 条 随机生成 + 重试 保证随机性,性能可接受
> 1000 条 索引生成 高性能,保证唯一性

实现方式

  • 生成器提供两个方法:generate()generateAtIndex()
  • generate(): 随机生成,用于小数据量或非唯一性字段
  • generateAtIndex(): 索引生成,用于大数据量唯一性字段
  • 系统根据配置自动选择合适的方法

示例

  • 手机号字段:generateAtIndex(params, index) 使用 index 生成唯一手机号
  • 姓名字段:generateAtIndex(params, index) 使用 index 组合姓和名

数据预览

  • 生成前可预览数据
  • 显示前 10 条数据
  • 支持分页查看更多数据

4. 数据导出

JSON 导出

  • 导出为标准 JSON 格式
  • 支持压缩和格式化两种模式
  • 包含字段名和数据

CSV 导出

  • 导出为 CSV 格式
  • 自动处理逗号转义
  • 支持中文编码 (UTF-8 with BOM)