Диспетчер сущностей Doctrine аварийно завершает работу и не работает

Итак, когда я запускаю тесты в своем приложении ZF / Doctrine, некоторые тесты нарушают работу Doctrine Entity Manager, и все последовательные тесты терпят неудачу из-за закрытия EM.

Я установил EM в своих tests / bootstrap.php:

$application = new Zend_Application(
    APPLICATION_ENV,
    APPLICATION_PATH . '/configs/application.ini'
);
$application->bootstrap();
(...)
$bootstrap = $application->getBootstrap();
$em = $bootstrap->getResource('doctrinemanager');

Затем я установил его в тестовой функции setUp () ($ this -> _ service - это тестируемая служба):

$em = App::getEntityManager();
$this->_em = clone $em;
$this->_service->setEm($this->_em);

И затем, когда я запустите тест, который заставляет EM генерировать исключение и закрывать (и это правильное поведение для меня), он остается закрытым на протяжении всех тестов, которые, конечно, терпят неудачу из-за закрытия EM. Как вы можете догадаться, это просто не то поведение, которое я ожидаю от тестов.

Я пробовал клонировать ЭМ перед установкой его в сервисе, но это не сработало.

Может быть, есть простой способ снова открыть ЭМ используя некоторые методы Doctrine?

6
задан kix 13 July 2011 в 05:31
поделиться