跳到内容
🛠️ToolsShed

Mock Data Generator

生成逼真的虚拟数据用于测试和开发。

150100

关于此工具

Mock Data Generator 在浏览器中生成逼真的假数据用于测试和开发—包括名字、电子邮件、电话号码、地址、信用卡号码等。它对于需要可信的测试数据但又不想手动输入或使用侵犯隐私的真实数据集的软件开发者来说至关重要。

只需选择需要的数据类型、选择生成的行数,然后以 CSV、JSON 或纯文本格式下载结果。该工具支持多个地区设置,因此你可以生成与目标地区或语言相匹配的名字、地址和电话号码。可根据你的测试需求自定义输出格式。

所有数据都使用随机化算法在你的设备本地生成—无任何内容被存储、记录或发送到任何服务器。这使其速度快、隐私安全,是在需要数据库种子数据、API 测试或 UI 演示的开发环境中离线使用的完美选择。

常见问题

代码实现

import random
import uuid
import json

FIRST_NAMES = ["Alice", "Bob", "Carol", "David", "Emma", "Frank", "Grace", "Henry"]
LAST_NAMES = ["Smith", "Johnson", "Williams", "Brown", "Jones", "Garcia", "Miller"]
CITIES = ["New York", "London", "Tokyo", "Paris", "Berlin", "Seoul", "Sydney"]
COUNTRIES = ["USA", "UK", "Japan", "France", "Germany", "South Korea", "Australia"]
DOMAINS = ["gmail.com", "yahoo.com", "outlook.com", "example.com"]
COMPANIES = ["Acme Corp", "Globex", "Initech", "Hooli", "Dunder Mifflin"]

def generate_record(fields: list[str]) -> dict:
    fn = random.choice(FIRST_NAMES)
    ln = random.choice(LAST_NAMES)
    record = {}
    for field in fields:
        if field == "firstName": record["firstName"] = fn
        elif field == "lastName": record["lastName"] = ln
        elif field == "email": record["email"] = f"{fn.lower()}.{ln.lower()}@{random.choice(DOMAINS)}"
        elif field == "phone": record["phone"] = f"+1-{random.randint(200,999)}-{random.randint(100,999)}-{random.randint(1000,9999)}"
        elif field == "city": record["city"] = random.choice(CITIES)
        elif field == "country": record["country"] = random.choice(COUNTRIES)
        elif field == "age": record["age"] = random.randint(18, 80)
        elif field == "uuid": record["uuid"] = str(uuid.uuid4())
        elif field == "company": record["company"] = random.choice(COMPANIES)
    return record

# Generate 10 records with name and email
fields = ["firstName", "lastName", "email", "age", "city"]
data = [generate_record(fields) for _ in range(10)]
print(json.dumps(data, indent=2))

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.