Zend framework Zend Framework 1-如何在功能集成测试中重置视图数据,而不是会话数据?

Zend framework Zend Framework 1-如何在功能集成测试中重置视图数据,而不是会话数据?,zend-framework,phpunit,integration-testing,Zend Framework,Phpunit,Integration Testing,我正在努力为基于ZF1的项目开发测试。这些测试在我之前已经开发好了,但我发现它们工作不正常。在测试中调用$this->dispatch('/some path')执行控制器的操作,但视图数据在多个$this->dispatch()调用之间不会被清除。在查看数据下,我指的是通过控制器操作中的$this->view->assign()分配的数据。我只需要查看测试中要清除的数据,而会话数据应该在$this->dispatch()调用之间保留。我已尝试扩展Zend_Test_PHPUnit_Contro

我正在努力为基于ZF1的项目开发测试。这些测试在我之前已经开发好了,但我发现它们工作不正常。在测试中调用
$this->dispatch('/some path')
执行控制器的操作,但视图数据在多个
$this->dispatch()调用之间不会被清除。在查看数据下,我指的是通过控制器操作中的
$this->view->assign()
分配的数据。我只需要查看测试中要清除的数据,而会话数据应该在
$this->dispatch()调用之间保留。我已尝试扩展Zend_Test_PHPUnit_ControllerTestCase::dispatch()
并对其进行修改:

public function dispatch($url = null)
{
    // Reset view data
    $viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer');
    $viewRenderer->view = null;

    return parent::dispatch($url);
}

现在视图数据被重置,但响应输出也会出现同样的问题,它会在那里累积,我会从多个控制器操作中获得累积结果。

我当前的解决方案是:

public function dispatch($url = null)
{
    // Reset previous response
    $this->resetResponse();
    $this->getResponse();

    // Reset view data
    $viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer');
    $viewRenderer->view = null;

    return parent::dispatch($url);
}

我目前的解决办法是:

public function dispatch($url = null)
{
    // Reset previous response
    $this->resetResponse();
    $this->getResponse();

    // Reset view data
    $viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer');
    $viewRenderer->view = null;

    return parent::dispatch($url);
}