2010-08-28 57 views
0

我正在使用postgre數據庫,在本地服務器(ubuntu 10.04 LTS Lucid Lynx)上使用ZF項目。
我試圖運行PHPUnit的一個非常簡單的測試:PHPUnit:無法斷言所用的最後一個控制器<"error">

public function testIndexAction() { 
     $this->dispatch('/'); 
     $this->assertController('index'); 
     $this->assertAction('index'); 
     $this->assertModule('default'); 
     $this->assertXpathContentContains('/html/body/div[1]/div[@id=\'content\']/p', 'Los puntos de mis amigos son mis amigos..'); 
    }

,但與此消息的第一斷言失敗:

無法斷言使用<「錯誤」最後一個控制器>是「指數」
我發現這個作者有同樣的問題: question:他通過添加到他的第二個php.ini php_pdo_pgsql.dll庫解決了這個問題。但他在窗戶上並使用xampp。
反正我檢查一下: /etc/php5/apache2/php.ini有那些3線:
extension=msql.so 
extension=pgsql.so 
extension=pdo_pgsql.so
和我說他們在其他php.ini文件,我發現: 的/ etc/PHP5/CLI/PHP。 ini現在當我運行測試它說:
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20090626+lfs/msql.so' - /usr/lib/php5/20090626+lfs/msql.so: cannot open shared object file: No such file or directory in Unknown on line 0 
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20090626+lfs/pdo_pgsql.so' - /usr/lib/php5/20090626+lfs/pdo_pgsql.so: undefined symbol: php_pdo_register_driver in Unknown on line 0 
PHP Warning: Module 'pgsql' already loaded in Unknown on line 0 
,現在我真的沒有想法...
任何人都可以指出我在正確的方向嗎?
thanx

+0

它聽起來對我來說發生了一些錯誤,它調度到錯誤控制器而不是索引控制器。你的索引控制器有什麼代碼? – robertbasic 2010-08-28 15:13:24

+0

你是對的羅伯特:我是afk,然後突然我想「f ** k,我沒有檢查錯誤是否不在我的代碼中」。 事實證明,我的測試數據庫的一個表中缺少一列。我加了它,現在很好。 正如我花了最後幾個小時試圖讓phpunit工作,我仍然在考慮一般配置,而不是關於我的代碼。 對不起。 我現在該做什麼:我可以給你正確的答案嗎?我應該回答自己嗎? 我總是問這個問題,並不首先檢查:(... – OSdave 2010-08-28 16:23:10

+0

大衛,你可以提出這個錯誤信息「失敗斷言使用最後一個控制器<"error">是」索引「成爲有關錯誤更有用的信息?例如:在你的情況下,消息應該是「列blabla不存在」。 – 2011-01-04 08:11:21

回答

0

事實證明,我的測試數據庫的一個表中有一列丟失。我加了它,現在很好。正如我花了幾個小時試圖讓phpunit工作,我仍然在考慮一般配置,而不是關於我的代碼。

相關問題