Как вы тестируете хэш params в тесте Rails? - PullRequest
7 голосов
/ 08 июля 2011

Следующее генерирует ошибку: "неопределенная локальная переменная или метод` params '"

assert_equal params[:recipient_id], users(:one).id

Как вы проверяете хэш параметров?

Кроме того, как вы проверяете assert_redirect при наличии параметров? Параметры добавляются к URL-адресу, поэтому проверка на model_path или подобное не удалась.

Работа со встроенным тестовым классом в Rails 3.

1 Ответ

7 голосов
/ 08 июля 2011

http://guides.rubyonrails.org/testing.html#functional-tests-for-your-controllers дает часть этой информации.

В этом случае params присоединяется к объекту @request или @response (в зависимости от того, какой метод HTTP вы тестируете), поэтому вы можете ссылаться на него как @request.params[:recipient_id].

Для перенаправления: assert_redirected_to post_path(assigns(:post)) будет утверждать, что вы перенаправлены на правильный путь для данной модели. Метод assigns должен иметь переменные экземпляра, которые вы устанавливаете внутри контроллера для передачи в представление

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