2009-08-26 3 views
6

Я использую для написания модульных тестов в Zend Framework 1.9 с использованием PHPUnit_Framework_TestCase для моего приложения.Как загрузочный Zend_Test_PHPUnit_ControllerTestCase с Zend_Application?

Теперь я пытаюсь написать модульный тест на основе 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'); 
    } 
} 

В официальной документации есть только примеры, Bootstrap тестовой среды с помощью плагинов инициализации, как это explained in the official manual.

Любые идеи?

ответ

2

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

$this->getFrontController()->setParam('bootstrap', $this->application->getBootstrap()); 
+0

Отлично. Первый вопрос, который я задал в Stackoverflow. Я получил правильный ответ всего за 4 часа. Большое спасибо! –

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