Тестирование последовательных перенаправлений в CakePHP 2 - PullRequest
0 голосов
/ 06 декабря 2011

Я тестирую действие контроллера в CakePHP, которое перенаправляет на разные URL-адреса в зависимости от определенных условий:

if ( !$userIsAdmin ) {
  $this->Session->setFlash(__('Not allowed.'));
  $this->redirect('/users');
}

if ( $this->MyModel->delete($id) ) {
  $this->Session->setFlash(__('Success.'));
  $this->redirect('/users');
}
else {
  $this->Session->setFlash(__('Failed. Please, try again.'));
  $this->redirect("/my_models/edit/$id");
}

Проблема заключается в том, что redirect(...) фактически не перенаправляет при выполнении модульных тестов, поскольку это поддельный метод.

Поэтому, когда я пытаюсь установить $this->headers для сравнения с ожидаемым URL-адресом, происходит сбой, поскольку последний отслеживаемый URL-адрес - это последний из вызовов redirect(), который был выполнен.

IsЕсть ли способ избежать этого?

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...