人们,我是RoR环境的新手,我正在尝试做一些看似简单的事情,但它变得越来越复杂。
我的应用程序中没有角色,我只想为登录用户添加一些功能,但从RSpec测试开始,我找不到测试用户是否登录的方法......
我正在使用CanCan和Devise。
我在下面尝试了这个代码,但它没有用,说没有名为sign_in的方法,我已经尝试过current_user和user_signed_in?
before(:each) do
@user = User.new
sign_in @user
end
我错过了什么?
的Gemfile:
source 'http://rubygems.org'
gem 'rails', '~> 3.0.7'
# authentication
gem 'devise', '~> 1.3.4'
#authorization
gem "cancan"
# mongodb database
gem 'mongoid', '~> 2.0'
gem 'bson_ext', '~> 1.3'
gem "high_voltage"
gem 'translate_routes'
gem 'factory_girl_rails', "~> 1.1.rc1"
group :development, :test do
gem "rspec-rails", ">= 2.0.0"
gem "cucumber-rails", ">= 0.3.2"
gem "webrat", ">= 0.7.2"
gem 'rspec', '2.5.0'
gem 'spork'
gem 'launchy'
gem 'autotest'
gem 'autotest-rails-pure'
gem 'ruby-debug'
gem 'rake', '0.9.2'
gem 'shoulda'
end
答案 0 :(得分:1)
你有spec / support / devise.rb文件吗?它需要包括
RSpec.configure do |config|
config.include Devise::TestHelpers, :type => :controller
end