从空白规则生成,不从客户导出表改写
给界面或接口准备测试数据时,没必要先把真实客户名单交给Claude。先写字段结构与规则,用全新虚构值构造样例;把真实姓名换成别名,也可能留下邮箱、备注和关联编号。
本例只构造id、展示名、邮箱和synthetic标记,不读取文件、不连接客户库、不发邮件。字段够用才添加,避免为了“更真实”混入没有必要的身份信息。
四个字段各承担什么作用
id固定为SYN-001等编号,表示该测试集合内的身份;name使用“演示客户-001”,避免借用真实客户姓名;email使用fixture-001@example.com;synthetic明确为true。
IANA保留example.com用于文档示例,这里用它避免随意填写一个可能属于真实机构的域名。它不是可依赖的邮件收件服务或测试接口,代码也不会向该地址发送消息。

用程序固定假数据,再请Claude补测试场景
文末makeFixtures最多生成100条,编号顺序固定,重复运行产生同一份结果,便于回归。把字段约束交给Claude,让它建议还缺哪些边界场景,而不是每次随机生成一批无法对账的客户。
例如主流程需要三条有效数据,错误场景可以另给一份缺少email的样例。不要把非法样例混进有效集合后,又要求全部通过校验;正常与异常集合应分别有预期结果。
运行与核对
保存为synthetic-fixtures.mjs,用Node.js 24 LTS执行:node synthetic-fixtures.mjs --demo。应打印SYN-001至SYN-003三行对象,每行synthetic为true,邮箱均在example.com下。
本地测试检查了100条ID唯一、输出可复现以及数量参数范围。唯一性只覆盖单次构造集合,不是分布式全局唯一保证;若把多批导入同一测试库,需要另加批次标识或先隔离数据。
假数据也需要与正式环境隔离
synthetic是数据标记,不会自动阻止正式系统发邮件、扣款或写库。演示代码没有这些能力;接入你自己的测试系统时,还应使用专用测试账户和允许的目标,不让标记成为唯一保护。
固定“演示客户”格式也不能证明世界上绝无同名对象。这里的可核对承诺是未读取真实客户资料、值由规则独立构造,不夸大为所有隐私风险都已消除。
交接时带上生成规则和使用范围
向同事提供生成脚本、字段含义、预期条数、异常样例及可运行命令,比只交付一份来源不明的CSV更容易维护。截图和教程也应保留虚构标识,不把演示客户描述为实际用户评价。
本篇没有使用真实客户信息或调用Claude生成数据,也未连接邮件服务。示例验证的是固定假数据规则,业务接口、导入和脱敏流程需要另行验收。
参考资料与核验范围
资料核对日期:2026年10月20日。以下为官方原始资料;产品入口和可用范围仍以当前账户为准。
1. [官方资料1](https://platform.claude.com/docs/en/test-and-evaluate/develop-tests)
2. [官方资料2](https://www.iana.org/help/example-domains)