Как загрузить Zend_Test_PHPUnit_ControllerTestCase с помощью Zend_Application? - PullRequest
6 голосов
/ 26 августа 2009

Я привык писать модульные тесты в Zend Framework 1.9, используя PHPUnit_Framework_TestCase для моего приложения.

Теперь я пытаюсь написать модульный тест, основанный на Zend_Test_PHPUnit_ControllerTestCase с использованием начальной загрузки Zend_Application Zend Framework. Но я не могу запустить его.

Вот мой нерабочий пример:

class FamilyControllerTest extends Zend_Test_PHPUnit_ControllerTestCase 
{

    public $application;

    public function setUp()
    {
        $this->bootstrap = array($this, 'appBootstrap');
        parent::setUp();
    }

    public function appBootstrap()
    {
      $this->application = new Zend_Application(
            APPLICATION_ENV, 
            APPLICATION_PATH . '/configs/application.ini'
        );
      $this->application->bootstrap();
    }

    public function testFooOverviewAction() 
    {
        $this->dispatch('/foo/overview');
        $this->assertQueryContentContains('div', 'Silvan');
    }
}

В официальной документации есть только примеры, которые загружают тестовую среду, используя плагины инициализации, как это , объяснено в официальном руководстве .

Есть идеи?

1 Ответ

2 голосов
/ 27 августа 2009

Вы почти получили его, но вы должны назначить загрузчик в качестве параметра для вашего экземпляра фронт-контроллера в вашем наборе тестов - так же, как Zend_Application автоматически в обычной среде. В вашем setUp() добавьте следующую строку:

$this->getFrontController()->setParam('bootstrap', $this->application->getBootstrap());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...