Zend_Test on Action_Helper 访问 $bootstrap->getOptions() 错误

发布于 2024-11-02 02:39:41 字数 1316 浏览 0 评论 0 原文

我正在从操作控制器访问选项,该控制器与应用程序配合良好,但是当我尝试对它进行单元测试时遇到了问题:

PHP Fatal error: Call to a member function getOptions() on a non-第 43 行 /home/zendtest/library/ZC/Action/Helper/Signup.php 中的对象

对于我的测试,我遵循 ZC 的设置 http://www.zendcasts.com/unit- testing-action-helpers/2010/11/ 具有可用源此处

我在tests/library/ZC/Action/Helper/SignupTest.php 中添加了另一个测试:

public function testMyTest()
{
    $helper = new ZC_Action_Helper_Signup();
    $this->dispatch('/');
    $controller = new IndexController($this->getRequest(),
                                         $this->getResponse(), array());
    $helper->setActionController($controller);
    $this->assertType('Zend_View',$helper->getConfig());
}

我将以下函数添加到/library/ZC/Action/Helper/Signup。 php :

protected $_config;
public function getConfig()
{
    if (null == $this->_config) {
        $action = $this->getActionController();
        $bootstrap = $action->getInvokeArg('bootstrap');
        $config = $bootstrap->getOptions();
        $this->_config = new Zend_Config($config);
    }
    return $this->_config;
}

如何正确测试此操作辅助函数?

I am accessing options from an action controller, which is working well with the application, but I've hit a problem when I attempt to UnitTest it:

PHP Fatal error: Call to a member function getOptions() on a non-object in /home/zendtest/library/ZC/Action/Helper/Signup.php on line 43

For my tests I followed the setup from ZC at http://www.zendcasts.com/unit-testing-action-helpers/2010/11/ with source available here

I added another test in tests/library/ZC/Action/Helper/SignupTest.php :

public function testMyTest()
{
    $helper = new ZC_Action_Helper_Signup();
    $this->dispatch('/');
    $controller = new IndexController($this->getRequest(),
                                         $this->getResponse(), array());
    $helper->setActionController($controller);
    $this->assertType('Zend_View',$helper->getConfig());
}

And I added the following function to /library/ZC/Action/Helper/Signup.php :

protected $_config;
public function getConfig()
{
    if (null == $this->_config) {
        $action = $this->getActionController();
        $bootstrap = $action->getInvokeArg('bootstrap');
        $config = $bootstrap->getOptions();
        $this->_config = new Zend_Config($config);
    }
    return $this->_config;
}

How can I properly test this action helper function?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文