用途:为测试生成真实感、类型安全的数据,包括夹具、工厂函数、种子数据集和边界值,适合创建真实夹具或边界用例测试数据。
主要能力:按实体生成默认有效的工厂函数,字段语义匹配 Faker 方法(如姓名、邮箱),支持部分覆盖参数;生成边界与对抗性数据,如空值、最大长度、整数溢出、零与负数、Unicode 与 i18n(重音、CJK、RTL、emoji)、SQL 注入与 XSS 载荷、超长字符串、闰年与时区边界、epoch 零与远期日期;构建带关联的实体图工厂,可配置深度、惰性求值以避免递归;生成数据库种子文件(SQL 或 ORM 函数),幂等操作,按场景区分种子集;输出 JSON/YAML/TypeScript 静态夹具,并校验生成数据是否符合 schema。
使用方式:先读取项目数据模型、TypeScript 接口、数据库 schema 或 ORM 定义;为每个实体创建工厂函数并设置确定性种子(如 faker.seed(12345))以保证可复现;再生成边界变体、关系工厂与种子脚本。输出通常为 test/factories/ 或 tests/factories/ 下的工厂文件、边界数据集合、种子脚本、夹具文件及统一导出索引。
适用场景:单元与集成测试的夹具、数据库种子、边界与安全输入测试。
限制与注意:需安装数据生成库、具备类型定义或 schema、支持夹具的测试框架及数据库客户端;常见问题包括 schema 变更导致工厂失效、唯一值冲突、外键顺序错误、循环关系递归溢出、未固定随机种子导致非确定性失败,需通过校验、顺序 ID、拓扑排序、限制深度与统一设置种子解决。具体安装命令与版本资料未提供。