gpt4 book ai didi

php - Zend_Test_PHPUnit_ControllerTestCase 和 Zend_Layout,运行测试时找不到布局插件

转载 作者:行者123 更新时间:2023-12-04 06:48:52 25 4
gpt4 key购买 nike

我开始使用 Zend Framework 1.10.6 和 Zend_Test_PHPUnit_ControllerTestCase 为 Controller 类编写一些测试用例。我遇到了一项问题,即当测试用例正在运行时,Zend_Controller_Action_HelperBroker 找不到布局操作助手。

以下是我的测试用例的基本内容:

require_once 'PHPUnit/Framework.php';
require_once 'Zend/Test/PHPUnit/ControllerTestCase.php';
require_once 'controllers/IndexController.php';

class Application_Controllers_IndexControllerTest extends Zend_Test_PHPUnit_ControllerTestCase {

public $_application;

protected function setUp() {
$this->bootstrap = array($this, 'appBootstrap');
parent::setUp ();
}

public function appBootstrap() {
// Create application, bootstrap, but don't run
$this->_application = new Zend_Application(
APPLICATION_ENV,
APPLICATION_PATH . '/configs/application.ini'
);
$this->_application->bootstrap();
$this->getFrontController()->setParams($this->_application->getOptions())
->addControllerDirectory(APPLICATION_PATH . '/controllers');
}

public function testIndexAction() {
$this->dispatch('/index/index');
$this->assertController('index');
$this->assertAction('index');
}

}

运行测试用例时出现异常:

Zend_Controller_Action_Exception:找不到按名称布局的 Action 助手

当我注释掉 Zend_Controller_Action_HelperBroker 类中的两行以尝试在第 368 行附近找到它的来源时,我得到:

Zend_Loader_PluginLoader_Exception: 在注册表中找不到名为“Layout”的插件;使用的路径:
Zend_Controller_Action_Helper_: Zend/Controller/Action/Helper/

运行时布局脚本的加载在我的应用程序中工作正常,似乎在 PHPUnit 下运行测试时找不到 Zend_Controller_Action_Helper 的正确路径或注册表,因此无法加载布局插件。

我已经验证 Zend 已正确安装并且 Layout.php 位于正确的位置。

有任何想法吗?

德尔

最佳答案

在你 appBootstrap() 最后放置这一行:

    Zend_Controller_Action_HelperBroker::addHelper(new Zend_Layout_Controller_Action_Helper_Layout);

关于php - Zend_Test_PHPUnit_ControllerTestCase 和 Zend_Layout,运行测试时找不到布局插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3411110/

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