L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Productivité · SKILL.md

json-generator

json-generator

根据描述或模板自动生成真实感测试JSON数据,支持faker模式、边界条件测试数据、负数/空值等异常数据构造

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: json-generator description: 根据描述或模板自动生成真实感测试JSON数据,支持faker模式、边界条件测试数据、负数/空值等异常数据构造 triggers:

  • "生成测试数据"
  • "JSON数据"
  • "mock数据"
  • "测试fixture"
  • "fake数据"

json-generator — 测试数据生成器

写测试时需要一堆假数据?不想手写?这个skill帮你生成真实感的JSON测试数据。

触发条件

  • 用户需要生成测试数据、mock数据、fixture
  • 需要大量JSON样本进行测试
  • 需要边界条件测试数据(空值、负数、超长字符串等)

工具列表

无特殊工具,主要靠Python脚本或LLM生成

常见模式

基础用户数据

{
  "id": 10001,
  "username": "zhang_san_2024",
  "email": "zhangsan@example.com",
  "phone": "+86-138-0013-8000",
  "age": 28,
  "registered_at": "2024-01-15T08:30:00Z",
  "is_vip": false,
  "balance": 9999.99
}

分页响应

{
  "page": 1,
  "page_size": 20,
  "total": 100,
  "total_pages": 5,
  "data": []
}

错误响应

{
  "error": {
    "code": "INVALID_PARAMETER",
    "message": "参数page必须为正整数",
    "field": "page",
    "request_id": "req_abc123"
  }
}

数组(多条记录)

[
  { "id": 1, "name": "北京分公司", "status": "active" },
  { "id": 2, "name": "上海分公司", "status": "active" },
  { "id": 3, "name": "深圳分公司", "status": "inactive" }
]

异常数据构造

边界值测试

{
  "age": 0,
  "balance": -0.01,
  "name": "",
  "email": "not-an-email",
  "phone": "12345",
  "quantity": 999999999
}

超长字符串

{
  "description": "字符串超长(>1000字符)...",
  "comment": "包含特殊字符:\n换行\t制表\"引号'单引号\\反斜杠"
}

空值/缺失字段

{
  "optional_field": null,
  "description": ""
}

数组边界

{
  "items": [],
  "max_items": "超过10000条记录的数组"
}

Faker模式(Python示例)

from faker import Faker
import json

fake = Faker('zh_CN')

# 生成单条用户记录
def generate_user():
    return {
        "id": fake.random_int(min=1, max=999999),
        "name": fake.name(),
        "address": fake.address(),
        "company": fake.company(),
        "job": fake.job(),
        "phone": fake.phone_number(),
        "email": fake.email(),
        "birthdate": fake.date_of_birth(minimum_age=18, maximum_age=65).isoformat(),
        "created_at": fake.iso8601()
    }

print(json.dumps(generate_user(), ensure_ascii=False, indent=2))

常用Faker字段

字段方法示例
姓名fake.name()张三
地址fake.address()北京市朝阳区...
公司fake.company()腾讯科技有限公司
邮箱fake.email()user@example.com
手机fake.phone_number()138-0013-8000
网址fake.url()https://example.com
日期fake.date()2024-03-15
UUIDfake.uuid4()550e8400-...

使用场景

用户: 生成10条用户测试数据 → 直接输出JSON数组,或Python faker脚本

用户: 生成一个订单的完整JSON,包含所有字段 → 按业务逻辑生成完整订单结构(含商品、地址、支付信息)

用户: 帮我生成边界测试数据,要有空值、负数、超长字符串 → 构造覆盖所有异常情况的JSON

Skills enregistrées