测试数据生成器

定义字段、选好行数、下载文件:逼真的虚假姓名、电子邮件、地址、公司、日期和数字,输出为 CSV、JSON 或 SQL INSERT 语句。全部在你的浏览器中本地生成——虚假数据库只在你点击“生成”时才加载,绝不会加载到主页上。

字段

为什么虚假数据胜过一整表真实数据

每个开发者都干过把生产数据库转储粘进预发布数据库然后后悔的事:真实邮箱会收到真实邮件,真实电话号码会接到真实来电,而演示或缺陷报告里的一张截图会悄悄公开某个人的个人信息。虚假数据从根源上消除了这类事故。姓名看起来像姓名,邮箱看起来像邮箱,地址能按地址解析——于是布局、校验和导入代码都能得到逼真的锻炼——但没有任何一行对应真实的人,事后也不需要做任何清理。

本生成器覆盖了填满大多数数据表的字段类型:全名、电子邮件、城市、街道地址、电话号码、公司名称、日期、整数、小数、布尔值和 UUID。把它们组合成你正在构建的那张表的形状,设好行数,然后下载。一百行足以检查布局;一万行足以弄清一个列表视图、一个搜索索引或一个导入脚本能不能扛住数据量的冲击。种子选项让输出可复现,这样一个失败的测试用例可以被精确地重建出来,而不是靠大概描述。

各个格式分别有什么用

CSV 是通用交换格式:电子表格、数据库导入向导和各种数据工具都能读它,它也是把一张逼真的数据表放进演示的最快方法。JSON 适合 API 和种子脚本——一个对象数组,每行一个对象,键名正是你给字段起的名字。SQL INSERT 语句可以直接进数据库:选好表名,导出会为每一行写一条 INSERT,字符串带引号,数字和布尔值原样输出。三种格式都由同一批生成行在本地组装,所以切换格式永远不会改变数据,只改变它的包装方式。

测试数据在本地使用 @faker-js/faker(MIT 许可证)生成。该库在你第一次点击“生成”时加载,并且只在本页面加载。

常见问题

生成的数据是真实的吗?

不是——每一个值都是虚构的:姓名、电子邮件、地址、公司和数字都来自一个虚假数据库,而不是任何真实的人或数据集。正因如此,把它粘贴到截图、演示、测试和预发布数据库里都是安全的。

为什么第一次生成要等一会儿?

虚假数据库只在你点击“生成”时加载,绝不会加载到主页或任何其他页面上。第一次点击会去获取它;同一次访问中的后续生成都是即时的。

种子有什么作用?

种子让输出可复现:相同的种子加上相同的字段,永远产生相同的行。想每次得到一组全新的随机数据就留空;需要一份在多次运行之间保持不变的测试夹具时就设置它。

一次可以生成多少行?

一次运行最多 10,000 行。再多的话,浏览器标签页在处理预览表格和组装下载文件时就会开始吃力;需要更多时请分批生成。

导出使用哪种 SQL 方言?

普通的 INSERT 语句,表名由你选择,字符串值带引号,数字和布尔值原样输出。对于常见的列类型,它们可以在 MySQL、PostgreSQL 和 SQLite 上原样运行;请调整表定义以匹配你的模式。