Реальное тестирование контроллеров CakePHP?

IIRC таблицы, в которых Вы нуждаетесь, являются DBA_TABLES, DBA_EXTENTS или DBA_SEGMENTS и DBA_DATA_FILES. Существует также USER_ и версии ALL_ их для таблиц, которые Вы видите, нет ли у Вас полномочий администрирования на машине.

5
задан tereško 10 February 2013 в 12:15
поделиться

1 ответ

Тест, который у вас есть, на самом деле не тестирует ваш UsersContoller, вы действительно тестируете AuthComponent. Если вы хотите сделать это, вам нужно убедиться, что вы настроили свой TestUsersController так же, как и в вашем приложении. В случае вашего testLogin вам необходимо установить действие и URL-адрес контроллера:

function testLogin()
{
 $this->Users->data = array(
              'User' => array(
                    'username' => 'admin',
                    'password' => 'admin'
                  )
            );

 $this->Users->params['url']['url'] = '/users/login';
 $this->Users->params['action'] = 'login';
 $this->prepareForAction();
 $this->Users->login();

 $this->assertNotNull($this->Users->redirectUrl);
 $this->assertEqual($this->Users->Session->read('Auth.User.id'), 1);
}

В качестве альтернативы я бы предложил еще раз взглянуть на сообщение с макетными объектами Марка и использовать эти методы для написания тестов для кода контроллера и издевательство над компонентом аутентификации.

4
ответ дан 15 December 2019 в 01:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: