我对 Rails 很陌生。我一直在使用 RSpec 开发我的应用程序。我刚刚遵循了Facebooker2的教程before_filter
并添加了用于身份验证。
#app/controller/application_controller.rb
before_filter :ensure_authenticated
但是,我的规格(例如下面的规格)失败了,因为没有可以理解的有效会话。
#spec/controllers/answers_controller_spec.rb
describe "GET index" do
it "assigns all answers as @answers" do
get :index, {}, valid_session
assigns(:answers).should include(answers(:reading))
end
end
但我似乎无法找到一种方法来伪造一个有效的会话以供 rspec 在以下函数中使用。
#spec/controllers/answers_controller_spec.rb
def valid_session
{}
end
有办法吗?如果不是,那么在这种情况下,rails 的处理方式是什么?