Как получить метаданные класса Doctrine для теста? - PullRequest
0 голосов
/ 06 мая 2019

Сотрудник хочет издеваться над менеджером объекта в тесте.У него есть этот код:

    ...
    $em = $this->createMock(EntityManager::class);
    $myRepository = new NewslettersStatisticSnapshotRepository(
        $em,
        NewslettersStatisticSnapshot::class
    );

    $em->method('getRepository')->willReturn($myRepository);
    ...

... и когда я запускаю его тест, я получаю это:

TypeError: Аргумент 2 передается в Doctrine \ ORM \ EntityRepository ::__construct () должен быть экземпляром Doctrine \ ORM \ Mapping \ ClassMetadata, строка с указанием

Как я могу получить метаданные для этого класса?

Ответы [ 2 ]

0 голосов
/ 28 мая 2019

В итоге мы просто издевались над хранилищем.

0 голосов
/ 06 мая 2019

Вы можете сделать это следующим образом:

 $em                 = $this->getDoctrine()->getManager();
 $metadata           = $em->getClassMetadata(NewslettersStatisticSnapshot::class);
...