Zend_Test: сбой контроллера Assert - PullRequest
0 голосов
/ 24 июня 2010

Я использую Zend_Test для модульного тестирования в Zend Framework.Я правильно сконфигурировал среду начальной загрузки и тестирования, после чего я получил эту ошибку, выводимую из тестового модуля

Failed asserting last controller used <"error"> was "index"

Эта ошибка возникает, когда я вызываю свой метод класса DbTable внутри, такой как

public function indexAction()
{
    $roleDb = new Model_DbTable_Role;
    $role = $roleDb->getAll();
    $this->_forward('login');
}

Если я удалю две строки роли, юнит-тестирование будет успешным.Это мой код модульного тестирования

public function testIndexActionShouldRedirectToLoginAction()
{
    $this->dispatch('/index');
    $this->assertController('index');
    $this->assertAction('login');
}

В чем проблема с этими строками?

Как узнать настоящую ошибку вместо просто Не удалось подтвердить последний использованный контроллер <"error"> ?Спасибо

1 Ответ

0 голосов
/ 25 июня 2010

Наконец-то это решено.

Это произошло из-за того, что PDO pgsql не был обнаружен модулем php. К вашему сведению, в XAMPP есть два файла php.ini.

Во-первых, внутри apache / bin , а во втором - внутри папки php . XAMPP всегда использует первый php.ini для сервера apache, но модуль php использует второй. Я настроил первый php.ini для использования pgsql, но забыл второй. Это ответ, почему мое приложение все еще работает, а модуль php - нет.

Затем я включаю расширение для pgsql во втором php.ini

extension=php_pdo_mssql.dll
extension=php_pdo_mysql.dll
extension=php_pdo_pgsql.dll <= add it
;extension=php_pdo_oci.dll
;extension=php_pdo_oci8.dll
;extension=php_pdo_odbc.dll
extension=php_pdo_sqlite.dll
;extension=php_perl.dll
extension=php_pgsql.dll <= remove ';'

Наконец, спасибо за любые комментарии или предложения по этой проблеме. Благослови вас всех Бог. :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...