Zend_Test - вход и выход разных пользователей для тестирования PHPUnit - PullRequest
0 голосов
/ 26 августа 2010

Моя проблема похожа на эту нить , но она не использует Zend_Session, поэтому она отличается от моей проблемы.

Я успешно установил PHPUnit, используя класс Zend Framework ControllerTestCase. Я могу войти в систему пользователя и написать успешные тесты для этого входа, так что все в порядке:

$this->request->setMethod('POST')->setPost(array('username' => $user, 'password' => $password));

Хотя я не могу понять, как выйти из системы. Даже если я специально попытаюсь сделать:

$namespace = new Zend_Session_Namespace("Default");
$namespace->username = false;
$namespace->passsword = false;

Это должно выйти из системы пользователя, даже отправка теста на URL выхода из системы не работает.

Я проверил свой код, чтобы убедиться, что во время использования новых учетных данных POST выполняется вход в систему и все существующие данные сеанса перезаписываются новыми учетными данными входа. Это не регистрирует нового пользователя при запуске теста.

  • Кто-нибудь пытался сделать это и преуспел?

  • Как я могу выйти из системы, чтобы новый POST регистрировал другого пользователя?

Спасибо.

1 Ответ

1 голос
/ 27 августа 2010

Я предполагаю, что вы используете Zend_Auth для аутентификации, и если я вас правильно понял (у меня еще не было моего первого кофе), вы захотите проверить, что после выхода из системы второй пользователь может войти в систему. в.

AFAIK, Z_A не использует пространство имен сеанса по умолчанию по умолчанию, а другое (я думаю, это даже Zend_Auth). Если вы выходите из системы, все, что вам нужно сделать, это вызвать метод clearIdentity() для объекта Zend_Auth.

Лично я никогда не проверял функциональность входа / выхода, но вы можете написать тестовый пример, который сначала регистрирует пользователя, утверждает, что он вошел в систему и / или что Zend_Auth имеет идентичность, очищает идентичность, утверждает, что Zend_Auth не У него нет идентификатора, войдите во второго пользователя, подтвердите снова.

HTH:)

Редактировать: Вот ссылка на контрольный пример для проверки входных данных: http://zendframeworkstorefront.googlecode.com/svn/trunk/tests/application/controllers/customerControllerTest.php это из приложения "Витрины" Кейта Поупа.

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