Итак, когда я запускаю тесты для моего приложения ZF / Doctrine, некоторые тесты могут привести к поломке Doctrine Entity Manager, и все последовательные тесты не выполняются из-за закрытия EM.
Я установил EM вмои тесты / bootstrap.php:
$application = new Zend_Application(
APPLICATION_ENV,
APPLICATION_PATH . '/configs/application.ini'
);
$application->bootstrap();
(...)
$bootstrap = $application->getBootstrap();
$em = $bootstrap->getResource('doctrinemanager');
Затем я устанавливаю его в функции test setUp () ($ this -> _ service - это тестируемая служба):
$em = App::getEntityManager();
$this->_em = clone $em;
$this->_service->setEm($this->_em);
Изатем, когда я запускаю тест, который заставляет EM генерировать исключение и закрывать (и это правильное поведение для меня), он остается закрытым на протяжении всех тестов, которые, конечно же, терпят неудачу из-за закрытия EM.Как вы можете догадаться, такого поведения я не ожидаю от тестов.
Я пытался клонировать EM перед установкой в сервис, но он не работал.
Есть ли простойспособ открыть EM, возможно, с помощью некоторых методов Doctrine?