我有一套固定装置(这里是一种简化):
My\Entity\User:
user_{1..10}:
name: <firstName()>
My\Entity\Item:
item_{1..10}:
user: '@user_$current'
data: <numberBetween(111111111, 999999999)>
我想在我的phpunit功能测试中获取ID为Item
的{{1}}。
我不确定自动递增ID是从1开始的。在4
之后不是1。因此,这不正确:
TRUNCATE
如何获得对$item4 = $this->em->getRepository(Item::class)->find(4);
的引用?
答案 0 :(得分:1)
您可以直接从加载器中获取根据Fixtures文件生成的实体:
$loader = new Nelmio\Alice\Loader\NativeLoader();
$objectSet = $loader->loadFile(__DIR__.'/fixtures.yml');
$objectSet
应该包含您所有实体的别名,因此您可以获取特定项目并直接使用它,也可以使用存储库再次获取它
$fixtureItem4 = $objectSet['item_4'];
$persistedItem4 = $this->em->getRepository(Item::class)->find($fixtureItem4->getId());