在使用Cucumber测试Sinatra应用程序时,Rack :: Test无法找到我的应用程序创建的cookie,即使我可以通过转储它来清楚地看到它在Rack :: Test :: CookieJar对象中“p”。
答案 0 :(得分:3)
我正在回答我自己的问题,以便与他人分享解决方案:
Rack :: Test :: CookieJar#[]只会返回cookie的值,如果它也匹配域和路径。不幸的是,除非你的应用程序的域名是“example.org”,否则你运气不好。
幸运的是,有一个简单的解决方法:如果您正在使用Sinatra进行测试,请将以下猴子补丁粘贴到最外层(全局)范围内的env.rb文件中的任何位置:
module Rack module Test DEFAULT_HOST='localhost' end end
就是这样!