Rack :: Test无法找到Web应用程序cookie

时间:2010-03-15 20:47:56

标签: ruby cookies cucumber sinatra rack

在使用Cucumber测试Sinatra应用程序时,Rack :: Test无法找到我的应用程序创建的cookie,即使我可以通过转储它来清楚地看到它在Rack :: Test :: CookieJar对象中“p”。

1 个答案:

答案 0 :(得分:3)

我正在回答我自己的问题,以便与他人分享解决方案:

Rack :: Test :: CookieJar#[]只会返回cookie的值,如果它也匹配域和路径。不幸的是,除非你的应用程序的域名是“example.org”,否则你运气不好。

幸运的是,有一个简单的解决方法:如果您正在使用Sinatra进行测试,请将以下猴子补丁粘贴到最外层(全局)范围内的env.rb文件中的任何位置:

module Rack
  module Test
    DEFAULT_HOST='localhost'
  end
end

就是这样!