2013-04-01 50 views
1

我们有一个小的方法,我们其他团队的一些内部使用。我正在为它编写测试,但我遇到了一个小问题:如何欺骗rspec测试中的请求主机?

该方法本身进行检查以确保请求来自特定服务器(request.host)。我尝试过存根,但我可能是在错误的控制器上存根?我试过我正在测试的控制器和.any_instance,然后我尝试了controller.any_instance,但都没有工作。

我有一种预感,我可以使用设计来欺骗它,但到目前为止谷歌还没有产生太大的用处。

+0

相当牛逼如果只允许来自特定服务器的请求,可能会创建一个服务器白名单。然后只需将localhost/127.0.0.1添加到列表中。 –

+0

这会阻止我们测试后卫。 –

回答

1

我觉得温和傻不首先尝试这一点,但:

在一个测试,我想request.host欺骗,设置这个在您的相应的测试方式是:

击鼓声请...

request.host = dev.example.com