PHPUnit:使用最后一个控制器断言失败<“error”>

时间:2010-08-28 14:42:55

标签: php unit-testing zend-framework phpunit ubuntu-10.04

我正在使用postgre数据库的ZF项目,在我的本地服务器上(ubuntu 10.04 LTS Lucid Lynx)。
我正在尝试用phpunit运行一个非常简单的测试:

    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..');  
    }

但它在第一次断言时失败并显示以下消息:

断言最后使用的控制器失败<“error”>是“索引”
我发现这个question作者有同样的问题:他通过在php_pdo_pgsql.dll库中添加第二个php.ini解决了这个问题。但他在窗户上使用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
现在我真的没有想法...
谁能指出我正确的方向?
感谢名单

1 个答案:

答案 0 :(得分:0)

事实证明,我的测试数据库的一个表中缺少一列。我加了它,现在没关系。由于我花了最后几个小时试图让phpunit工作,我仍然在考虑一般配置,而不是我的代码。