2011-07-18 20 views
1

人、私はRoR環境で新しく、明らかに単純なことをしようとしていますが、複雑になっています。cancan Abilty、Devise、Rspec testing

私のアプリケーションにはロールがありません。ログインしたユーザーにいくつかの機能を追加したいだけですが、RSpecテストから、ユーザーがサインインしているかどうかをテストする方法が見つかりません...

私はDeviseでCanCanを使用しています。

私はこのコードを試しましたが、うまくいきませんでした。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

あなたが仕様/サポート/ devise.rbファイルを持っていますか?それはまだ

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

を含める必要があり、失敗/エラー:#のための 未定義のメソッド 'sign_in' NoMethodError @user sign_in – JRafaelM

+0

を何べき私はそれを入れた?それは設定がありません... – JRafaelM

+0

レールを実行しましたか?rspec:アプリケーションのルートにインストールしますか? – eugen

関連する問題