你需将项目真实实体定义(含字段名、类型、约束、注释)及业务规则链(值分布、空值比例、关联逻辑、状态跃迁)完整注入claude提示词,明确其角色为熟悉本项目规范的后端工程师,确保测试数据完全贴合生产环境要求。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要让Claude生成的测试数据在字段命名、值分布、空值比例、关联逻辑上完全贴合你正在开发的真实项目,而不是返回一堆“user1”“test@example.com”这种明显虚构的样本。
先锚定项目上下文,再喂数据结构
打开你项目的实体类或数据库表定义文件,复制出完整的字段名、类型、非空约束、示例值(如有)和业务注释。不要只复制字段名列表,必须包含类似@Column(name = "real_user_name", nullable = false)或email VARCHAR(255) NOT NULL COMMENT '用户注册邮箱,需校验格式'这类真实约束信息。
把这段结构化定义粘贴进Claude提示词开头,明确写:“你是一位熟悉本项目数据建模规范的后端工程师,所有生成的测试数据必须严格遵循以下实体定义。”
这一步不做,Claude会按通用语义生成数据——比如看到phone字段就填"13800138000",而你的项目实际要求是带区号的国际格式"+86-138-0013-8000",且有20%概率为空。
用真实业务规则驱动值生成
方法一:显式注入规则链
在字段定义后追加一句:“请按以下规则生成值:① 【status字段仅允许取值:'active'、'pending_review'、'archived',其中'archived'占比不超过3%】;② created_at 必须在2024-01-01至当前日期之间,且70%集中在最近90天;③ user_name 不能含下划线,长度为2–12个汉字或英文字母组合。”
方法二:提供最小真实样本集
直接给3行你数据库里脱敏后的真数据(不是构造的),例如:{"id": 12741, "user_name": "张伟", "email": "zhang.wei@corp.com", "status": "active", "created_at": "2025-03-17T09:22:14Z"}。Claude会自动对齐命名习惯、大小写风格、时间精度(是否带毫秒)、分隔符(点号还是下划线)等细节。
注意:如果样本中email全为公司域名,但你没说明,Claude仍可能混入gmail.com——【必须在提示词中声明“所有email必须使用@corp.com后缀”】。
强制关联性与状态跃迁逻辑
第一步:识别依赖关系
检查字段间是否存在硬编码关联,比如:order_status = 'shipped'时,shipping_date必须不为空且早于delivered_date;is_premium = true时,membership_tier必须为'gold'或'platinum'。
第二步:用“当…则…”句式写死规则
在提示词中逐条列出:“当 order_status 为 'shipped' 时,shipping_date 必须为非空有效日期,且早于 delivered_date 至少2小时;当 is_premium 为 false 时,membership_tier 字段必须为 null。”
第三步:指定状态跃迁频率
补充说明:“模拟真实订单流:75%的订单 status 从 'created' → 'paid' → 'shipped' → 'delivered';其余25%会在 'paid' 后直接变为 'cancelled'。” 这能让生成的数据具备真实业务节奏,而非静态快照。











