顯然,在Rails中運行測試時,主機名爲「www.example.com」。如果我在測試中運行root_url,它將返回「http://www.example.com/」。在Rails中更改主機名以進行測試
因爲我正在做一個需要其他主機名的應用程序,有沒有辦法將默認的主機名改爲別的,所以我不必每次在測試中生成URL時都指定它?
謝謝。
顯然,在Rails中運行測試時,主機名爲「www.example.com」。如果我在測試中運行root_url,它將返回「http://www.example.com/」。在Rails中更改主機名以進行測試
因爲我正在做一個需要其他主機名的應用程序,有沒有辦法將默認的主機名改爲別的,所以我不必每次在測試中生成URL時都指定它?
謝謝。
看來答案是否定的,在測試代碼,你必須調用網址助手時指定的主機。
是的,我想你可以做這樣的事情在你的配置/環境/ test.rb文件:
config.action_controller.asset_host = "127.0.0.1"
PS這是未經測試現在。我知道我做了這樣的事情,但有一次,但代碼在我的電腦上工作。如果它不起作用,我明天會檢查它。
那麼,這取決於你如何測試。例如,如果您使用Capybara作爲測試套件,則可以指定default_host
路徑/ URL助手從請求對象獲取主機名。所以在測試,你可以做這樣的事情:
request.host = "another-domain.com"
這隻適用於請求,它不會更改測試中調用root_url的結果。 – Pablo
這似乎只適用於資產。它不適合我。 – Pablo