Nasıl Zend_Application ile Zend_Test_PHPUnit_ControllerTestCase bootstrap?

1 Cevap php

Benim uygulama için PHPUnit_Framework_TestCase kullanarak Zend Framework 1.9 birim testleri yazmak için alışkınım.

Şimdi Zend_Application Zend Framework ile önyükleme kullanılarak tarafından Zend_Test_PHPUnit_ControllerTestCase dayalı bir birim test yazmaya çalışıyorum. Ama çalışan almak için kuramıyorum.

İşte benim çalışma dışı bir örnek:

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');
    }
}

Resmi belgelerde bu explained in the official manual gibi başlatma eklentileri kullanarak test ortamı önyükleyebilmek sadece örnekler vardır.

Herhangi bir fikir?

1 Cevap

Neredeyse bu var, ancak test paketi ön kontrolör örneğine bir parametre olarak ön yükleme atamak zorunda - gibi Zend_Application otomatik olarak normal bir ortamda, yok. Senin içinde setUp() aşağıdaki satırı ekleyin:

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