根据这在设计wiki时,我应该能够使用登录名。用户帮助方法在我的控制器测试中。因此,在spec目录中有以下内容:
#spec_helper.rb
...
Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f}
RSpec.configure do |config|
config.include Devise::TestHelpers, :type => :controller
config.extend ControllerMacros, :type => :controller
...
和
#support/controller_macros.rb
module ControllerMacros
def login_user
before(:each) do
@request.env["devise.mapping"] = Devise.mappings[:user]
@user = Factory.create(:user)
sign_in @user
end
end
end
但是,调用助手不起作用:
#requests/some_spec.rb
require 'spec_helper'
describe "GET /guides/edit" do
login_user
end
有人能指出我哪里出错了吗。测试套件就是从这个开始工作的。我得到一个未定义的局部变量或方法消息,所以我想模块没有包括在内。
相似问题