2016-12-09 5 views
0

私のテストでDeviseにサインインする際に問題があります。私はRailsでデフォルトのテストスイートを使用しています。Ruby on Rails:私のテストの中でデベロッパにサインインするにはどうしたらいいですか?

私のテストヘルパーファイルでは、私はそうのようなlog_inメソッドを定義しました:。

def log_in 
    @user = User.create(id: 1) 
    sign_in(:user, @user) 
    end 

私はすべてのエラーを取得しない、方法は私をに署名していない私はこれを知っているので、I彼らはログイン、および私のテストの一つの結果がされていないときにユーザーをリダイレクト:

ContentsControllerTest#test_should_show_content [E:/Uni/coursework/empire/test/controllers/contents_controller_test.rb:32]: 
Expected response to be a <success>, but was <302> 

sign_inがそうのようなセットアップで呼び出され...

setup do 
    @content = contents(:one) 
    log_in 
    end 

私がどのようにサインインできるかについての助けがあれば、大歓迎です。

def log_in 
    sign_in(users(:one)) 
    end 

理由:

答えて

0

また、ここで

include Devise::TestHelpers 

あなたは、私は次のように私のlog_in方法を変更することで、私の問題を修正しましたMinitest+Devise

+0

はい、私はメソッドを呼び出すことができますが、正しく動作しないようです。 –

+0

コントローラコードを表示できますか? – Argonus

+0

コントローラーテスト?私は質問にそれを加えました。 –

0

いくつかのコードサンプルを持っている必要があります私は最初に灯具を使用していませんでした。なぜなら、私はいくつかの奇妙なエラーを引き起こしていた照明器具に問題があったからです。常に備品をチェックしてください。

関連する問題