ZF + Doctrine2 phpUnit错误:PDOExeption:您无法序列化或反序列化PDO实例

时间:2011-03-08 15:22:01

标签: zend-framework phpunit doctrine-orm

我正在使用DynamicGuys doctrine2集成到zend框架(https://github.com/dynamicguy/zf1doctrine2)。 它工作,但如果我想用phpUnit进行测试我得到这个错误:     PDOExeption:您无法序列化或反序列化PDO实例

我搜索了一下,我发现如果我在这个文件中注释掉第44行: https://github.com/dynamicguy/zf1doctrine2/blob/master/library/ZendX/Doctrine2/Application/Resource/Entitymanagerfactory.php phpUnit有效,但当然其他应用程序无法正常工作,因为实体管理器不会返回

关于错误来自哪里的任何想法?

1 个答案:

答案 0 :(得分:4)

这与PHPUnit备份全局变量和每个测试之间的静态属性有关。如果你有一个PDO实例,它会在尝试序列化时分解。我遇到了类似的问题,我无法找到PDO实例作为全局参数存储的位置,但是在所需的测试中禁用了backupGlobals和backupStaticAttributes对我来说很有用。

/**
 * Search test.
 *
 * @backupGlobals disabled
 * @backupStaticAttributes disabled
 *
 * @author Steven Rosato
 */
class SearchControllerTest extends \Majisti\Test\TestCase
{
    ...
}

来源:http://sebastian-bergmann.de/archives/797-Global-Variables-and-PHPUnit.html