Когда вы выполняете тестирование контроллера, хэш сессий является последним параметром. Допустим, у вас есть что-то подобное в ваших тестах контроллера сессий:
post :create, :user => { :email => "blah@blah.com" }, :color => "red"
Это передает через 2 параметра через контроллер: params [: user] и params [: color].
А как насчет переменных сеанса? Переменные сеанса передаются как последний параметр. Если бы мы хотели установить переменную сеанса last_logged_in, мы бы изменили вышеприведенное на:
post :create, {:user => { :email => "blah@blah.com" }, :color => "red"}, {:last_logged_in => Time.now}
Обратите внимание на дополнительные настроенные скобки, которые я наложил на пользователя и параметры цвета. Теперь у вас будет доступ к сессии [: last_logged_in] в вашем контроллере.
Я настоятельно рекомендую прочитать руководства по ror. Вот один из тестов контроллера:
http://guides.rubyonrails.org/testing.html#functional-tests-for-your-controllers