好的,所以我做了一个登录操作,但是我对如何为此设置功能或单元测试感到困惑。是不是喜欢从我的灯具上发送用户名和密码,并检查会话[:user_id]是否为零?
提前致谢:)
#POST /sessions
def create
user = User.authenticate(params[:email],params[:password])
if user
session[:user_id] = user.id
redirect_to root_path, :notice => "Logged in successfully!"
else
flash.now.alert = "Invalid username/password"
render "new"
end
end
答案 0 :(得分:2)
逻辑上,您可以进行多项测试:
假设您使用的是标准rails测试框架,则会将其置于会话控制器的功能测试之下。您可以通过以下方式测试重定向和渲染:
assert_template "new"
和
assert_redirected_to root_path
此处有更多信息(特别是关于您完成帖子后可用的哈希):
http://guides.rubyonrails.org/testing.html#functional-tests-for-your-controllers