我在app/helpers/application_helper.rb
中有一个调用cookies
的方法。这是完全允许的;这个方法在我的开发环境中非常有效,并且在我说cookies
时知道我的意思。
我正在使用TestUnit(在test/unit/helpers/application_helper_test.rb
中)测试此帮助程序并获取错误
NoMethodError: undefined method `cookies' for nil:NilClass
即使是不设置cookie 的四个测试。这与需要使用cookie_jar
'在测试中设置cookie无关,因为问题不在于我正在设置cookie并且我的助手没有识别它们,问题在于 对象 cookies
正在调用 nil 。
我不确定调用了哪个控制器对象cookies
,所以我p
对所有人进行了调查,发现@controller
,@request
,和@response
,只有@response
为零。所以我试着将它设置为“牛”。的确!我的错误发生了变化:
NoMethodError: undefined method `cookies' for "cow":String
所以看起来我只需要隐藏@response
。我该怎么做?
或者我在这里与某些事情不一致并且过于复杂化了?
答案 0 :(得分:0)
将此设置添加到执行此方法的所有测试中:
@response.stubs(:cookies).returns({})