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