0

include Sorcery::TestHelpers::Rails在 sorcery.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 回答