Ruby on rails 测试使用cookie的rails助手
我在Ruby on rails 测试使用cookie的rails助手,ruby-on-rails,cookies,helpers,testunit,Ruby On Rails,Cookies,Helpers,Testunit,我在app/helpers/application\u helper.rb中有一个调用cookies的方法。这是完全允许的;这个方法在我的开发环境中运行得非常好,并且知道我说的cookies是什么意思 我正在用TestUnit(在test/unit/helpers/application\u helper\u test.rb中)测试这个助手,并得到错误信息 NoMethodError: undefined method `cookies' for nil:NilClass 即使是四个没有设置c
app/helpers/application\u helper.rb
中有一个调用cookies
的方法。这是完全允许的;这个方法在我的开发环境中运行得非常好,并且知道我说的cookies
是什么意思
我正在用TestUnit(在test/unit/helpers/application\u helper\u test.rb
中)测试这个助手,并得到错误信息
NoMethodError: undefined method `cookies' for nil:NilClass
即使是四个没有设置cookie的测试。这与需要“在测试中使用cookie\u-jar
”设置cookie无关,因为问题不是我正在设置cookie,我的助手没有识别它们,而是正在调用的对象cookie
是nil
我不确定调用的是哪个控制器对象cookies
,所以我p
将它们全部调用,发现在@controller
、@request
和@response
中,只有@response
为零。所以我试着把它设为“奶牛”。真的!我的错误更改:
NoMethodError: undefined method `cookies' for "cow":String
看来我只需要把@response
去掉。我该怎么做
还是我太过分了,太复杂了?将此设置添加到所有使用此方法的测试中:
@response.stubs(:cookies).returns({})