jrv-mock-data
Generate realistic test data instantly — no API key, no network. Supports dozens of data types, bulk generation, and multiple output formats including JSON, CSV, and SQL.
Quick Start
CODEBLOCK0
Commands & Data Types
| Type | Description | Example Output |
|---|
| INLINECODE0 | Full user record (name, email, phone, address) | INLINECODE1 |
| INLINECODE2 |
Full name |
"Marcus Rivera" |
|
email | Email address |
"tmarcus@fakecorp.io" |
|
phone | US phone number |
"(415) 555-0193" |
|
address | Street address |
"1234 Oak Ave, Austin TX 78701" |
|
company | Company name |
"Nexigen Solutions LLC" |
|
uuid | UUID v4 |
"f47ac10b-58cc-..." |
|
date | Random date |
"2024-07-15" |
|
datetime | Random datetime |
"2024-07-15T14:23:00" |
|
lorem | Lorem ipsum text |
"Lorem ipsum dolor sit amet..." |
|
number | Random integer |
42 |
|
float | Random float |
3.14159 |
|
bool | True/false |
true |
|
color | Hex color |
"#3a7bd5" |
|
url | Fake URL |
"https://fakecorp.io/api/v1" |
|
ip | IPv4 address |
"192.168.1.104" |
|
record | Custom fields combo | Use
--fields name,email,phone |
Formats
| Format | Flag | Notes |
|---|
| JSON | INLINECODE34 (default) | Pretty-printed array |
| CSV |
--format csv | With header row |
| SQL |
--format sql --table <name> | INSERT statements |
| Lines |
--format lines | One value per line |
Options
| Flag | Description |
|---|
| INLINECODE38 | Number of records (default: 1) |
| INLINECODE39 |
Output format: json, csv, sql, lines |
|
--table <name> | Table name for SQL output |
|
--fields <list> | Comma-separated fields for
record type |
|
--seed N | Random seed for reproducible output |
|
--output <file> | Write to file instead of stdout |
Use Cases
- - API testing: Seed databases with realistic-looking test records
- UI prototyping: Fill mockups with plausible names and emails
- QA automation: Generate test fixtures in CSV or JSON
- SQL seeding: Ready-to-paste INSERT statements for dev databases
- Load testing: Generate thousands of unique records instantly
jrv-mock-data
即时生成逼真的测试数据——无需API密钥,无需网络。支持数十种数据类型、批量生成以及多种输出格式,包括JSON、CSV和SQL。
快速开始
bash
生成10个虚假用户,格式为JSON
python3 scripts/mock_data.py user --count 10
生成虚假电子邮件地址
python3 scripts/mock_data.py email --count 5
生成地址
python3 scripts/mock_data.py address --count 3
生成包含多个字段的自定义记录
python3 scripts/mock_data.py record --fields name,email,phone,company --count 5
输出为CSV格式
python3 scripts/mock_data.py user --count 20 --format csv
输出为SQL INSERT语句
python3 scripts/mock_data.py user --count 10 --format sql --table users
单个值(无需指定数量)
python3 scripts/mock_data.py uuid
python3 scripts/mock_data.py name
python3 scripts/mock_data.py lorem --words 50
保存到文件
python3 scripts/mock
data.py user --count 100 --format csv --output testusers.csv
命令与数据类型
| 类型 | 描述 | 示例输出 |
|---|
| user | 完整用户记录(姓名、邮箱、电话、地址) | {name: Jane Smith, email: jane@example.com, ...} |
| name |
全名 | Marcus Rivera |
| email | 电子邮件地址 | tmarcus@fakecorp.io |
| phone | 美国电话号码 | (415) 555-0193 |
| address | 街道地址 | 1234 Oak Ave, Austin TX 78701 |
| company | 公司名称 | Nexigen Solutions LLC |
| uuid | UUID v4 | f47ac10b-58cc-... |
| date | 随机日期 | 2024-07-15 |
| datetime | 随机日期时间 | 2024-07-15T14:23:00 |
| lorem | Lorem ipsum文本 | Lorem ipsum dolor sit amet... |
| number | 随机整数 | 42 |
| float | 随机浮点数 | 3.14159 |
| bool | 真/假 | true |
| color | 十六进制颜色 | #3a7bd5 |
| url | 虚假URL | https://fakecorp.io/api/v1 |
| ip | IPv4地址 | 192.168.1.104 |
| record | 自定义字段组合 | 使用 --fields name,email,phone |
格式
| 格式 | 标志 | 说明 |
|---|
| JSON | --format json(默认) | 美化打印的数组 |
| CSV |
--format csv | 带标题行 |
| SQL | --format sql --table <名称> | INSERT语句 |
| 逐行 | --format lines | 每行一个值 |
选项
| 标志 | 描述 |
|---|
| --count N | 记录数量(默认:1) |
| --format <格式> |
输出格式:json, csv, sql, lines |
| --table <名称> | SQL输出的表名 |
| --fields <列表> | record类型的逗号分隔字段 |
| --seed N | 用于可重复输出的随机种子 |
| --output <文件> | 写入文件而非标准输出 |
使用场景
- - API测试:用逼真的测试记录填充数据库
- UI原型设计:用合理的姓名和邮箱填充模拟界面
- QA自动化:生成CSV或JSON格式的测试夹具
- SQL数据填充:为开发数据库提供可直接粘贴的INSERT语句
- 负载测试:即时生成数千条唯一记录