Я пытаюсь протестировать действие CakePHP, связанное с формой регистрации, защищенной компонентом Security
.Я настроил компонент в UsersController следующим образом:
public $components = array(
'Security' => array('unlockedFields' => array('password_again')),
);
Я могу выполнить действие в браузере, но всякий раз, когда я запускаю тестовый пример, он завершается неудачей со следующим сообщением:
"The request has been black-holed"
Я пытался отключить проверку внутри тестового примера несколькими способами:
$this->Users->Security->enable = false;
$this->Users->Security->validatePost = false;
$this->Users->Components->disable('Security');
$this->Users->Security = null; // desperate measure :)
// still fails
$this->testAction('/signup', array('data' => array(...), 'return' => 'contents'));
Но тест настаивает на использовании проверки Security
запроса POST
.Я использую CakePHP 2.0.3 и PHPUnit 3.6.3.
Кстати, я не использую UsersController
напрямую, а класс TestUsersController
, который CakePHP испек для меня (в качестве замены для generate
метод, я думаю).
Как правильно обращаться с компонентом Security в тестовом примере?