Я тестирую некоторые расширения Zend_Controller_Action в SimpleTest. Я хочу иметь возможность установить URL-адрес перенаправления, используя методы set помощника по действиям Redirector, а затем использовать метод redirectAndExit () Redirector для фактического перенаправления позже в процессе. Похоже, этот процесс работает не так, как я ожидал, прочитав документацию и посмотрев код в контроллере действий, перенаправителе и в классах ответов.
Вот метод UnitTestCase, который я написал:
public function testSetGoToUrl() {
$request = new Zend_Controller_Request_Http();
$response = new Zend_Controller_Response_Http();
$controller = new App_Zend_Controller_Action($request, $response, array());
$controller->getHelper('redirector')->setGoToUrl('/');
}
Класс App_Zend_Controller_Action является просто конкретным расширением абстрактного класса Zend_Controller_Action. Все, что я делаю здесь, это создание экземпляра контроллера и установка URL перенаправления. Репортер SimpleTest сначала отправляет заголовки, как и ожидалось. Но этот метод теста генерирует исключение «отправленные заголовки», и я не понимаю, почему. Мне неизвестно о каких-либо методах run () или dispatch (), вызываемых в этой ситуации.
Что отправляет второй набор заголовков?