cancan Abilty,Devise和Rspec测试

时间:2011-07-18 13:23:37

标签: ruby-on-rails-3 rspec devise cancan

人们,我是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

1 个答案:

答案 0 :(得分:1)

你有spec / support / devise.rb文件吗?它需要包括

RSpec.configure do |config|
  config.include Devise::TestHelpers, :type => :controller
end