gpt4 book ai didi

php - 如何使用 Zend_Application 引导 Zend_Test_PHPUnit_ControllerTestCase?

转载 作者:可可西里 更新时间:2023-11-01 13:29:06 27 4
gpt4 key购买 nike

我习惯于为我的应用程序使用 PHPUnit_Framework_TestCase 在 Zend Framework 1.9 中编写单元测试。

现在我正在尝试通过使用 Zend Framework 的 Zend_Application 的 Bootstrap 来编写基于 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');
}
}

在官方文档中,只有使用初始化插件引导测试环境的示例,例如explained in the official manual。 .

有什么想法吗?

最佳答案

您几乎已经搞定了,但是您必须将 Bootstrap 作为参数分配给测试套件中的前端 Controller 实例——就像 Zend_Application 在正常环境中自动执行的那样。在您的 setUp() 中添加以下行:

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

关于php - 如何使用 Zend_Application 引导 Zend_Test_PHPUnit_ControllerTestCase?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1337101/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com