如何使用带有Spec测试的mocha框架在:user_id
中存根session
?
我尝试了以下内容:
session.stubs(:USER_ID).returns(1)
session.stub!(:USER_ID).and_return(1)
session.expects(:[])。with(has_entries('user_id'=> 1))
但是在上面的尝试中我的会话[:user_id]为零!
所有示例都显示了如何存根对象,但会话是一个哈希数组,如何在会话中存根或模拟某个键,如:user_id或:page_id ..等?
答案 0 :(得分:0)
我认为您可能在每个请求上都有一个新的会话实例,因此您必须存根每个请求。
?> session.class
=> ActionController::Session::AbstractStore::SessionHash
那么你有什么存根是
ActionController::Session::AbstractStore::SessionHash.any_instance.stubs(:user_id).returns(1)