1

我有一组固定装置(这里是一个简化):

My\Entity\User:
  user_{1..10}:
    name: <firstName()>

My\Entity\Item:
  item_{1..10}:
    user: '@user_$current'
    data: <numberBetween(111111111, 999999999)>

我想在我的 phpunit 功能测试中获取ItemID 。4

我不能确定自动增量 ID 是从 1 开始的。它不是 1 之后TRUNCATE。所以这是不正确的:

$item4 = $this->em->getRepository(Item::class)->find(4);

我怎样才能得到参考item_4

4

1 回答 1

4

您可以直接从加载器获取从固定文件生成的实体:

$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());
于 2019-03-22T15:42:12.923 回答