我正在尝试集成测试使用 authlogic 和声明式授权的 gem。为了检查我的虚拟应用程序中的自定义控制器,我创建了一个新的 spec/dummy/config/authorization_rule.rb 文件:
authorization do
role :admin do
has_permission_on :admin_events, :to => [:manage]
end
end
当我在测试环境(rails s -e test)中启动服务器时,一切都按预期工作。但是,当我使用 capybara 运行测试时(无论使用 rack_test、selenium 还是 webkit),自定义规则都没有加载,我的测试用户无权访问控制器。
声明式授权的内置 test-helper without_access_control 确实适用于 rack_test,但不适用于 js=true。
有任何想法吗?由于这是“声明性”,我无法动态添加权限(运行时)。或者有可能吗?
感谢您的任何想法!