2010-06-24 4 views
0

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

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">? Спасибо

+0

попытаться поймать исключение внутри теста – opHASnoNAME

+0

Я все еще новичок в модульном тестировании и очень хочу его изучить. Я попытаюсь узнать, как использовать исключение в модульном тестировании. Спасибо. –

+0

@ bhoo-day, getAll() или fetchAll()? – allnightgrocery

ответ

0

И наконец, он решил.

Именно из-за PDO pgsql не был обнаружен модулем php. FYI, в XAMPP есть два файла php.ini.

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

Затем включить расширение для 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 ';' 

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

Смежные вопросы