用途:为开发、测试和演示生成逼真的测试数据,覆盖数据生成、数据库种子、fixture 管理与工厂模式。
主要能力:Faker 支持 Python 与 JavaScript,可生成姓名、邮箱、电话、地址、公司等基础字段,以及信用卡号、IBAN、价格、IP、MAC、User-Agent、URL、段落、职务、日期等专用类型;支持指定 locale(如 en_US、ja_JP)生成地区数据;支持通过 Faker.seed(42) 生成可复现数据。
使用方式:Python 用 pip install faker 安装,JavaScript 用 npm install @faker-js/faker 安装。可用 python3 -c 或 node -e 直接快速生成 JSON,也可用 csv.writer 输出 CSV(如 test_users.csv),或 | psql $DATABASE_URL 直接写入 PostgreSQL。JSON fixtures 可写入 fixtures/ 或 test/data/ 供各测试框架复用。
适用场景:开发、测试、演示环境的数据填充,数据库播种,测试 fixture,以及批量数据导入。
限制:绝不把 Faker 生成的、看起来像真实 PII 的数据用于生产数据库;CI 中应使用 Faker.seed() 保证可复现;负载测试应批量生成并通过 COPY/批量插入导入,而非逐行 INSERT。