Сбой теста PHPUnit на плагине - PullRequest
0 голосов
/ 24 января 2011

Мой тест phpunit не проходит с этой ошибкой:

C:\workspace\internal_jets3\tests>phpunit --verbose
PHPUnit 3.5.7 by Sebastian Bergmann.


Fatal error: Call to a member function getOptions() on a non-object in C:\worksp
ace\internal_jets3\library\My\Controller\Plugin\ModuleLayoutLoader.php on line 7

Извлечение из плагина:

class My_Controller_Plugin_ModuleLayoutLoader extends Zend_Controller_Plugin_Abstract
{
    public function preDispatch(Zend_Controller_Request_Abstract $request)
    {
        $config = Zend_Controller_Front::getInstance()->getParam('bootstrap')->getOptions();

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

Edit @Gordon Для меня это не так очевидно.Выполнение var_dump из:

var_dump(Zend_Controller_Front::getInstance()->getParam('bootstrap'));
die();

дает мне:

object(Bootstrap)[3]
      protected '_appNamespace' => boolean false
      protected '_resourceLoader' => null
      protected '_application' => 

, который говорит мне «объект»;и на полпути вниз дамп:

  protected '_options' => 

Так что это смущает меня - я не знаю, как правильно phpunit проверить этот объект.

1 Ответ

1 голос
/ 01 февраля 2011

чтобы настроить PHPUnit в среде Zend, вы должны запустить загрузчик Zend внутри загрузчика phpunit.После этого в вашем приложении все еще есть объект начальной загрузки.И ваше сообщение об ошибке говорит, что Zend_Controller_Front::getInstance()->getParam('bootstrap') NULL.Вы уверены, что отлажены в нужном месте?

...