痛点
每次做接口测试都要手动造数据?
- 手动写100条用户数据 → 1小时
-
- Faker.js配置复杂,中文支持差 → 折腾半天
-
- 导出格式不对(要JSON却给了CSV)→ 反复返工
-
- 不同数据库SQL语法不一致 → 还要查文档
今天推荐一个我写的测试数据生成器,一条命令搞定所有格式。
支持的场景
| 场景 | 命令示例 | 输出 |
|---|---|---|
| 接口测试 JSON | test-data-gen users 100 json | 100条用户JSON |
| 批量导入 CSV | test-data-gen orders 50 csv | 50条订单CSV |
| MySQL测试数据 | test-data-gen products 20 sql mysql | 20条MySQL INSERT |
| PostgreSQL测试数据 | test-data-gen products 20 sql pg | 20条PG INSERT |
| 自定义字段 | test-data-gen fields: name,email,phone 100 json | 任意字段组合 |
内置数据模板
users(用户): { "id": 1, "name": "张伟", "email": "zhangwei@example.com", "phone": "13812345678", "age": 28, "gender": "男" }
orders(订单):
{
"id": 1,
"user_id": 1,
"product": "蓝牙耳机",
"amount": 299.00,
"status": "已完成",
"created_at": "2026-04-01 10:23:45"
}
products(商品):
{
"id": 1,
"name": "iPhone 15 Pro",
"price": 8999.00,
"stock": 500,
"category": "手机"
}
批量生成示例
生成100条JSON格式的用户数据:
test-data-gen users 100 json
生成50条CSV格式的订单数据:
test-data-gen orders 50 csv
生成MySQL兼容的SQL(可直接导入测试库):
test-data-gen products 20 sql mysql
生成PostgreSQL兼容的SQL:
test-data-gen products 20 sql pg
自定义字段(生成姓名+邮箱+手机号):
test-data-gen name,email,phone 100 json
实际测试效果
对比手动造数据 vs 用工具生成:
| 方式 | 生成100条JSON | 生成100条CSV |
|------|--------------|--------------|
| 手动Excel | ~45分钟 | ~50分钟 |
| Python脚本 | ~3分钟 | ~4分钟 |
| test-data-gen | ~2秒 | ~2秒 |
效率提升 90%+,而且数据格式规范,0误差。
安装方式
pip install test-data-gen
或克隆源码(零依赖):
git clone https://github.com/shenghoo123-png/test-data-gen.git
cd test-data-gen
python generator.py users 100 json
适用人群
- 测试工程师 → 快速造接口测试数据
- 后端开发 → 填充测试库,验证数据库设计
- 数据分析师 → 生成样例数据做报表测试
- 产品经理 → 快速获取demo用数据
总结
- 零依赖:Python内置库,无第三方包
- 三格式支持:JSON / CSV / SQL(MySQL+PG)
- 中文友好:姓名、手机号、地址全中文
- 字段类型丰富:姓名、邮箱、手机号、金额、日期、枚举
- 免费开源:ClawHub可下载,MIT协议
工具地址: https://clawhub.com/shenghoo123-png/test-data-gen