Ruby on Rails:辅助类中的Mock会话变量

时间:2012-04-17 22:06:00

标签: ruby-on-rails session rspec mocking

我试图在控制器的帮助文件中模拟会话哈希:

Helper_Spec:

session.stub!(:[]).with("fb_token")
  RotaHelper.getListOfFriends.should == expected_friends

助手:

FbGraph::User.me(session["fb_token"]).friends

错误:

NameError:
   undefined local variable or method `session' for RotaHelper:Module

我是不是错了?或者帮助者没有访问会话哈希?

1 个答案:

答案 0 :(得分:2)

这很奇怪。在我的帮助器测试中,会自动创建会话哈希。也许你不需要spec_helper?

顺便说一下,如果会话不是由spec helper自动创建的,你也可以通过说这是一个帮助方法来初始化它。如下代码:

session_hash = {}
helper.stub!(:session) { session_hash }