ZF/Doctrineアプリケーションでテストを実行すると、Doctrine Entity Managerが破損し、EMが閉じられているため、すべての順次テストが失敗します。Doctrineのエンティティマネージャがクラッシュして停止する
私は私のテスト/ 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のクローン作成を試みましたが、機能しませんでした。
いくつかのDoctrineメソッドを使用してEMを再オープンする簡単な方法はありますか?