2017-03-25 15 views
1

current_userをRails 5にスタブするにはどうすればよいですか?Rails 5でcurrent_userをスタブする方法は?

私はこの予想:仕事に

@controller.stub :current_user, mock_user do 

end 

を、しかしActionDispatch::IntegrationTestには@controllerはありませんか?私はsorcery gemを認証に使用します。

+0

'current_user'とは何ですか?それは変数ですか?方法?あなたは工夫をしていますか? –

+0

これはコントローラ上のメソッドです。私は魔法を使う。私はそれを質問に入れます。大部分の認証宝石がそれを定義して以来、私はそれが重要であるとは思っていませんでした。 – Borsunho

+0

ブロックの内部とエラー/失敗の出力を表示できますか? – Glyoko

答えて

1

あなたが試みることができるwiki examplecurrent_userとして、あなたのテストユーザーを設定します

class TeamsControllerTest < ActionController::TestCase 
    include Sorcery::TestHelpers::Rails::Integration 
    include Sorcery::TestHelpers::Rails::Controller 

    setup do 
    @team = teams(:one) 
    @user = users(:one) 

    login_user(user = @user, route = login_url) # replace with your login url path 
    end 

    test "should get index" do 
    get :index 
    assert_response :success 
    assert_not_nil assigns(:teams) 
    end 

関連する問題