在Rails中更改测试的主机名

时间:2011-08-26 06:33:11

标签: ruby-on-rails ruby testing hostname

显然,在Rails中运行测试时,主机名是“www.example.com”。如果我在测试中运行root_url,它将返回“http://www.example.com/”。

由于我正在做一个需要其他主机名的应用程序,有没有办法将默认主机名更改为其他内容,所以每次在测试中生成URL时都不必指定它?

感谢。

4 个答案:

答案 0 :(得分:2)

路径/网址助手从请求对象中获取主机名。所以在测试中你可以这样做:

request.host = "another-domain.com"

答案 1 :(得分:1)

似乎答案是否定的,在测试代码中,你必须在调用url helpers时指定主机。

答案 2 :(得分:0)

是的,我认为您可以在config / environments / test.rb文件中执行以下操作:

config.action_controller.asset_host = "127.0.0.1"

ps目前尚未经过测试。我知道我做过类似的事情,但有一次,但代码在我的电脑上工作。如果它不起作用我明天会检查它。

答案 3 :(得分:0)

嗯,这取决于你如何测试。例如,如果您将Capybara用于测试套件,则可以指定default_host