2013-07-26 40 views
0

今天我回到了一個我沒有碰過一段時間的項目。這是一個使用MongoDB作爲數據庫的Zend Framework 2項目。PHPUnit模擬MongoCollection類創建一個_PHP_Incomplete_Class對象

我決定,因爲它已經更新的MongoDB從(2.0)的最新版本(2.4)了一會兒,司機到最新版本(1.4.2?)。

現在運行我PHPUnit測試時,我得到的錯誤因嘲笑MongoCollection類沒有一個「is_a()」的考驗。

相反,新的嘲笑類是MongoCollection的實例,它原來是一個_PHP_Incomplete_Class實例,而不是。我一直在尋找高和低,我找不到任何人有同樣的問題。我只能假設事情已經改變到PHPUnit的不喜歡MongoDB的類。

$collection = $this->getMockBuilder('MongoCollection') 
        ->disableOriginalConstructor() 
        ->getMock(); 

當檢查$收集我看到:

_PHP_Incomplete_Class Object { 
    _PHP_Incomplete_Class_Name => (string) Mock_MongoCollection_2798b1f7" 
} 

有誰知道解決的辦法還是我需要來砸我自己出MongoCollection模擬/測試類測試?

回答

0

OK,之後做其他事情的幾天,我回來了這一問題,並已經解決了它。

我PHPUnit的更新到最新版本(截至今日,2013年1月)通過PEAR和問題已經消失。

課程:嘗試更新所有內容,而不僅僅是一個組件!