相关疑难解决方法(0)

Doctrine的实体经理崩溃并停留下来

因此,当我在我的ZF/Doctrine应用程序上运行测试时,一些测试会破坏Doctrine Entity Manager,并且由于EM被关闭,所有顺序测试都会失败.

我在我的tests/bootstrap.php中设置了EM:

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

然后我在测试setUp()函数中设置它($ this - > _ service是正在测试的服务):

$em = App::getEntityManager();
$this->_em = clone $em;
$this->_service->setEm($this->_em);
Run Code Online (Sandbox Code Playgroud)

然后当我运行导致EM抛出异常并关闭的测试(这对我来说是正确的行为)时,它会在所有测试中保持关闭状态,当然由于EM关闭而失败.正如你猜测的那样,这不是我期望的测试行为.

我在设置服务之前尝试克隆EM,但它没有用.

有没有一种简单的方法可以使用一些Doctrine方法重新打开EM?

php phpunit doctrine-orm

6
推荐指数
1
解决办法
1253
查看次数

标签 统计

doctrine-orm ×1

php ×1

phpunit ×1