【发布时间】:2014-01-04 00:54:54
【问题描述】:
我正在构建一个 rails 4 应用程序。我创建了一个支持文件来模拟登录。这是文件
spec/support/spec_test_helper.rb
module SpecTestHelper
def login(user)
request.session[:user_id] = user.id
end
def current_user
User.find(request.session[:user_id])
end
end
spec_helper.rb
config.include SpecTestHelper, :type => :controller
控制器规格
describe BooksController, "user role" do
user = Fabricate(:user) do
role { Role.find_by_account_type("user") }
end
login(user)
end
支持文件给出未定义的方法错误。这是错误消息的一部分:
spec/controllers/books_controller_spec.rb:27:in `block in <top (required)>': undefined method `login' for #<Class:0x007f9f83193438> (NoMethodError)
我正在测试 CanCan。我知道测试 CanCan 的正确方法是测试能力,但这已经完成了。
【问题讨论】:
-
请提供准确的错误信息。
标签: ruby-on-rails rspec rspec-rails