【问题标题】:testing a rails helper that uses cookies测试使用 cookie 的 rails 助手
【发布时间】:2011-09-27 21:31:23
【问题描述】:

我在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 而我的助手没有识别它们,问题在于object cookies 正在被调用nil

我不确定哪个控制器对象 cookies 被调用,所以我 p 将它们全部找出来,发现在 @controller@request@response 中,只有 @987654333 @ 为零。所以我尝试将其设置为“牛”。确实如此!我的错误改变:

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

看来我只需要删除@response。我该怎么做?

或者我是不是在这里太过分了,把事情复杂化了?

【问题讨论】:

    标签: ruby-on-rails cookies helpers testunit


    【解决方案1】:

    将此设置添加到使用此方法的所有测试中:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-05
      • 1970-01-01
      • 2010-10-01
      • 1970-01-01
      • 2021-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多