我如何在Zend Framework中测试数据库连接设置?

时间:2011-02-01 12:44:55

标签: php zend-framework

我有一个带有数据库连接设置的ini文件。我正在创建一个安装程序,需要帮助:

  1. 测试ini文件中包含错误的数据库连接设置(错误的用户/通过或无法选择数据库)
  2. 使用.sql文件插入db结构。
  3. 这是否可以使用ZF,我无法在任何地方找到任何信息。我应该使用直接查询吗?

    谢谢!

3 个答案:

答案 0 :(得分:3)

添加$db->getConnection()以建立连接并捕获错误(如果有的话)。

try {  
    $db->getConnection();
} catch( Exception $e ) { 
    print_r($e->getMessage());
    die;
}

答案 1 :(得分:2)

在单元测试中,您可以在$adapter->getConnect()内调用try/catch来检查Zend_Db_Adapter_Exception,其子类在失败的连接上抛出。在catch中,您可以调用$this->fail()来表示测试失败。

但通常情况下,APPLICATION_ENV = 'testing'的数据库连接参数设置与其他APPLICATION_ENV的数据集不同。所以在这个意义上,我和@jakenoble在一起。这听起来不像单元测试问题而不是部署问题。因此,某种命令行脚本 - 甚至是使用与主应用程序相同的引导程序的脚本 - 可能更合适。

答案 2 :(得分:0)

这不是特定于ZF的,所以不是你应该用ZF完成的事情。 ZF没有名为MightExist的数据库适配器。如果用户名或密码错误,那么ZF会出错并且你没有在哪里。

首先是部署问题还是测试问题?

如果是部署问题,那么您需要自动部署代码,也许是bash脚本?这可以检查数据库中的用户而根本不依赖于ZF。 bash脚本还可以通过导入.sql文件来设置数据库。

如果它是一个测试问题,那么它们就会完全不同。您应该使用类似PHPUnit的内容来测试用户是否存在,密码以及检查数据是否存在,如果不是使用.sql文件插入的话。