因此,當我在我的ZF/Doctrine應用程序上運行測試時,一些測試碰巧破壞了Doctrine Entity Manager,並且所有順序測試都由於EM被關閉而失敗。學說的實體管理器崩潰並停留下來
我在我的測試/ bootstrap.php中設置EM起來:
$application = new Zend_Application(
APPLICATION_ENV,
APPLICATION_PATH . '/configs/application.ini'
);
$application->bootstrap();
(...)
$bootstrap = $application->getBootstrap();
$em = $bootstrap->getResource('doctrinemanager');
然後我設置的測試設置()函數中($本 - > _服務正在測試該服務):
$em = App::getEntityManager();
$this->_em = clone $em;
$this->_service->setEm($this->_em);
然後,當我運行導致EM引發異常並關閉(這對我來說是正確的行爲)的測試時,它在所有測試中保持關閉,這些測試當然由於EM被關閉而失敗。正如你所猜測的那樣,這不僅僅是我期望的測試行爲。
我試圖在設置服務之前克隆EM,但它不起作用。
是否有一種簡單的方法重新打開EM也許使用一些Doctrine方法?