簡體   English   中英

如何用Zend_Application引導Zend_Test_PHPUnit_ControllerTestCase?

[英]How to bootstrap Zend_Test_PHPUnit_ControllerTestCase with Zend_Application?

我習慣使用PHPUnit_Framework_TestCase為我的應用程序在Zend Framework 1.9中編寫單元測試。

現在我試圖通過使用Zend Framework的Zend_Application引導來編寫基於Zend_Test_PHPUnit_ControllerTestCase的單元測試。 但我無法讓它運行。

這是我的非工作示例:

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

在官方文檔中,只有使用初始化插件來引導測試環境的示例,如官方手冊中所述

有任何想法嗎?

你幾乎得到了它,但你必須將你的引導程序作為參數分配給你的測試套件中的前端控制器實例 - 就像Zend_Application在正常環境中一樣。 在你的setUp()添加以下行:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM