0

include Sorcery::TestHelpers::Railssorcery.rb内に追加しました。コントローラーの仕様は次のようになります。

describe "success" do
  before(:each) do
    @user = Factory(:user)
    @attr = { :username => @user.username, :password => @user.password }
  end
  it "should sign the user in" do
    post :create, :session => @attr
    # controller.current_user.should == @user
    controller.should be_logged_in
  end
end

私のコントローラーは次のようになります

class SessionsController < ApplicationController
  def create
    user = login(params[:username], params[:password], params[:remember_me])
    if user
      redirect_back_or_to root_url, :notice => "Logged in!"
    else
      flash.now.alert = "Email or password was invalid"
      render :new
    end
  end
end

ユーザーモデルをテスト環境に移行しましたが、テストを実行すると、常にログインしていないと表示されます。

4

1 に答える 1

1

テストからメソッドに渡しparams[:session]ていますが、アクションでは参照しているparams[:username]params[:password]

于 2012-01-17T01:14:29.810 に答える