我知道这个问题已被多次回答,但现有的答案并不能解决我的问题。
我想为控制器运行我的 rspec 测试。我需要通过 Authlogic 对用户进行身份验证。
正如你们中的许多人所说(在其他类似问题中),我添加到spec_helper.rb文件中:
require "authlogic/test_case"
include Authlogic::TestCase
和我的 events_controller_spec.rb之前的activate_authlogic:
...
before :each do
activate_authlogic
user = FactoryGirl.create(:user)
UserSession.create(user)
end
...
但是运行 rspec,我总是收到臭名昭著的错误消息:
Failure/Error: UserSession.create(user)
Authlogic::Session::Activation::NotActivatedError:
You must activate the Authlogic::Session::Base.controller with a controller object before creating objects
你能看出它有什么问题吗?
任何建议都非常受欢迎。
谢谢!
附言。
使用的版本: - rails 3.2 - rspec (2.11.0) - rspec-core (2.11.1)