Comment obtenir L'EntityManager à l'intérieur de webtestcases en Symfony2

je me demandais comment je pourrais récupérer l'entitymanager à l'intérieur d'un Instance WebTestCase.

par exemple pour vérifier si une entité a vraiment été créée dans DB pendant le testrun.

des idées ?

18
demandé sur candybeer 2011-04-19 16:36:07

3 réponses

vous pouvez récupérer le DIC (Dependency Injection Container) à travers le noyau, qui est un membre protégé de WebTestCase.

vous pouvez le faire depuis votre WebTestCase:

$em = $this->kernel->getContainer()->get('doctrine.orm.entity_manager');

mise à Jour

A partir de votre propre commentaire, il y a même un raccourci pour cela (puisque vous aurez de toute façon un client):

$client = $this->getClient();
$container = $client->getContainer();

Comme mentionné dans les docs.

28
répondu igorw 2011-04-20 12:34:07

si vous avez votre client, vous pouvez obtenir Entity Manager de lui

$em = $client->getContainer()->get('doctrine.orm.entity_manager');

n'utilisez pas getEntityManager est déprécié depuis Symfony 2.1.

enjoy :)

6
répondu Massimo212121 2014-12-04 09:02:01
$this->container->get('doctrine.orm.entity_manager');
0
répondu Safwan Bakais 2016-09-24 00:59:15