Ruby on rails 如何在rspec测试中欺骗请求主机?

Ruby on rails 如何在rspec测试中欺骗请求主机?,ruby-on-rails,rspec,devise,Ruby On Rails,Rspec,Devise,我们有一个其他团队内部使用的小方法。我正在为它编写测试,但遇到了一个小问题: 方法本身进行检查,以确保请求来自特定服务器(request.host)。我已经尝试过存根,但我可能是存根错误的控制器?我尝试了我正在测试的控制器。任何_实例,然后我尝试了控制器。任何_实例,但都不起作用 我有一种预感,我可能会用Desive来欺骗它,但到目前为止,谷歌还没有发挥出多少作用 我觉得自己有点傻,没有先尝试一下,但是: 在我试图欺骗request.host的测试中,在相应的测试中设置此选项的方法是: drum

我们有一个其他团队内部使用的小方法。我正在为它编写测试,但遇到了一个小问题:

方法本身进行检查,以确保请求来自特定服务器(request.host)。我已经尝试过存根,但我可能是存根错误的控制器?我尝试了我正在测试的控制器。任何_实例,然后我尝试了控制器。任何_实例,但都不起作用


我有一种预感,我可能会用Desive来欺骗它,但到目前为止,谷歌还没有发挥出多少作用

我觉得自己有点傻,没有先尝试一下,但是:

在我试图欺骗request.host的测试中,在相应的测试中设置此选项的方法是:

drumroll请


如果您正在测试子域,我在这里有一个带有一些代码的writeup:

而不是只允许来自特定服务器的请求,可能会创建一个服务器的白名单。然后只需将localhost/127.0.0.1添加到列表中,这将阻止我们测试该保护。
request.host = dev.example.com