我们有一个小的方法,我们其他团队的一些内部使用。我正在为它编写测试,但我遇到了一个小问题:如何欺骗rspec测试中的请求主机?
该方法本身进行检查以确保请求来自特定服务器(request.host)。我尝试过存根,但我可能是在错误的控制器上存根?我试过我正在测试的控制器和.any_instance,然后我尝试了controller.any_instance,但都没有工作。
我有一种预感,我可以使用设计来欺骗它,但到目前为止谷歌还没有产生太大的用处。
我们有一个小的方法,我们其他团队的一些内部使用。我正在为它编写测试,但我遇到了一个小问题:如何欺骗rspec测试中的请求主机?
该方法本身进行检查以确保请求来自特定服务器(request.host)。我尝试过存根,但我可能是在错误的控制器上存根?我试过我正在测试的控制器和.any_instance,然后我尝试了controller.any_instance,但都没有工作。
我有一种预感,我可以使用设计来欺骗它,但到目前为止谷歌还没有产生太大的用处。
我觉得温和傻不首先尝试这一点,但:
在一个测试,我想request.host欺骗,设置这个在您的相应的测试方式是:
击鼓声请...
request.host = dev.example.com
如果您正在测试的子域,我有一些代码在这里书面记录:http://www.chrisaitchison.com/2013/03/17/testing-subdomains-in-rails/
相当牛逼如果只允许来自特定服务器的请求,可能会创建一个服务器白名单。然后只需将localhost/127.0.0.1添加到列表中。 –
这会阻止我们测试后卫。 –