[英]How to mock/stub a call to the database in a 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.