SuperAPI AI 工具集

doctrine-fixtures-foundry

测试与质量

查看项目

更新于 10-15 21:08

技能介绍

用途:在 Symfony 项目中为 Doctrine 实体创建测试或开发数据,编写 Foundry 工厂、命名状态、序列或 story,构建关联实体而无需手写初始化代码,也可用于把旧版 Foundry v1 工厂或 ->object() 调用迁移到 v2。

主要能力:每个实体生成一个工厂,defaults() 只保留必填与唯一字段;用不可变的命名状态(如 admin()、published())表达每种变体;通过 OtherFactory::new() 让工厂自动创建默认关联;用 story 组织共享场景;按测试类重置数据库;通过 Factory::assert() 对真实对象与仓储进行断言。

使用方式:为每个实体生成工厂并保持最小默认值;把差异写成命名状态;关联关系交给工厂默认创建;多个测试共用的场景放入 story;测试中接入 Foundry 扩展并使用 #[ResetDatabase];需要可复现失败时用 FOUNDRY_FAKER_SEED 固定 Faker 种子。

限制与注意:每个唯一列都要用 self::faker()->unique(),否则测试会冲突;v2 工厂直接返回真实对象,不要调用 ->object() 或 ->_real();测试能内联创建的简单数据不必建工厂。更深入的实现细节需查阅其 reference.md。