我正在使用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有效,但当然其他应用程序无法正常工作,因为实体管理器不会返回
关于错误来自哪里的任何想法?
答案 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