2011-09-27 49 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({})