2011-09-27 66 views
0

我在app/helpers/application_helper.rb中有一个方法,它调用cookies。这是完全允许的;这个方法在我的开发环境中工作非常好,并且当我说cookies时知道我的意思。测试使用cookies的铁轨助手

我测试这个助手与TestUnit(在test/unit/helpers/application_helper_test.rb),并得到错误

NoMethodError: undefined method `cookies' for nil:NilClass 

即使对于不设置cookies四项测试。这与需要'使用cookie_jar'在测试中设置Cookie无关',因为问题不在于我设置了Cookie并且我的帮助程序没有识别它们,问题是对象cookies是被叫

我不知道控制器对象cookies是被称为上,所以我p倒是他们都发现,出于@controller@request,并且@response,只有@response是零。所以我试着将它设置为“牛”。事实上!我的错误变化:

NoMethodError: undefined method `cookies' for "cow":String 

所以好像我只需要存根出@response。我怎么做?

或者我在这里的方式和过度复杂的事情吗?

回答

0

此设置添加到您所有的测试来试验这种方法:

@response.stubs(:cookies).returns({})