我在sorcery.rb中添加了include Sorcery::TestHelpers::Rails,我的控制器规范看起来像这样
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我已经将用户模型迁移到我的测试环境中,当我运行测试时,它总是以“未登录”结束。
发布于 2012-01-17 09:14:30
您从测试中将params[:session]传递到方法中,但在操作中引用了params[:username]和params[:password]。
https://stackoverflow.com/questions/8877300
复制相似问题