今天回到一个好久没碰的项目。这是一个使用 MongoDB 作为其数据库的 Zend Framework 2 项目。
我决定将 MongoDB 从 (2.0) 更新到最新版本 (2.4) 以及将驱动程序更新到最新版本 (1.4.2?) 已经有一段时间了。
现在,在运行我的 PHPUnit 测试时,由于模拟的MongoCollection类未能通过“ is_a() ”测试,我得到了错误。
新的模拟类不是MongoCollection的一个实例,而是一个_PHP_Incomplete_Class实例。我一直在寻找高低,我找不到任何有同样问题的人。我只能假设PHPUnit不喜欢的MongoDB类发生了一些变化。
$collection = $this->getMockBuilder('MongoCollection')
->disableOriginalConstructor()
->getMock();
检查$collection时,我看到:
_PHP_Incomplete_Class Object {
_PHP_Incomplete_Class_Name => (string) Mock_MongoCollection_2798b1f7"
}
有谁知道解决这个问题的方法,还是我需要用自己的MongoCollection模拟/测试类进行测试?