测试 controller rspec 中如何直接操作 session?

zfben · 2012年12月07日 · 最后由 blueplanet 回复于 2012年12月14日 · 3745 次阅读

在 controller spec 中直接操作session[:user_id]=1是无效的,controller 中打印 session 显示的是 not loaded

有什么办法吗?

@request.session[:user_id]

建议先看一遍 http://guides.rubyonrails.org/testing.html 先从 rails 自带的测试入门,然后在学习其他测试框架!

为什么要先学自带测试才能学其他测试框架? #2 楼 @woaigithub

#4 楼 @congteng 建议,只是建议,个中好处,自己体会吧!

#4 楼 @congteng 他的意思是让你去学习方法,就好比 LZ 的问题里在 Controller 测试当中有哪些对象可以用。这些东西都是相通的,无论你用 testunit 也好还是 rspec 也罢,万变不离其宗。

rspec 里面使用 get或者post方法的时候, get :edit, {id: book.id}, {user_id: user.id} 第三个参数貌似就是放到 session 的数据吧

需要 登录 后方可回复, 如果你还没有账号请 注册新账号