ruby-on-rails - Rspec - 你必须激活 Authlogic::Session::Base.controller - 我已经尝试过常见的建议

标签 ruby-on-rails ruby-on-rails-3 testing rspec authlogic

我知道这个问题已被多次回复,但现有的答案并不能解决我的问题。

我想为 Controller 运行我的 rspec 测试。我需要通过 Authlogic 对用户进行身份验证。

正如你们中的许多人所说(在其他类似问题中),我在 spec_helper.rb 文件中添加了:

require "authlogic/test_case"
include Authlogic::TestCase

activate_authlogicmy events_controller_spec.rb之前:

...
  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 核心 (2.11.1)

最佳答案

尝试使用 setup :activate_authlogicAuthlogic::Session::Base.controller = Authlogic::ControllerAdapters::RailsAdapter.new(self) 而不是 activate_authlogic,也许会有帮助

关于ruby-on-rails - Rspec - 你必须激活 Authlogic::Session::Base.controller - 我已经尝试过常见的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14927543/

相关文章:

ruby-on-rails - Rails 控制台截断 Activerecord 输出 - 如何防止截断?

php - 可以在 Travis CI 中使用自定义变量吗?

python - 在 Python 中拦截 subprocess.Popen 调用

ruby-on-rails - 命名空间 Controller 上的 Rspec Controller 规范找到具有相同名称的全局 Controller

ruby-on-rails-3 - 如何在自定义 Controller 生成器中获取 GeneratedAttribute?

ruby-on-rails - 本地人可以在 Rails View 中通过两层吗?

python - 使用 pytest 对 Python 对象进行单元测试

ruby-on-rails - 如何隐藏日志中 View 的呈现?

jquery - 在 ruby​​ on rails 中单击时显示元素

ruby-on-rails - Rake Gems 安装错误