[英]Rails System Test: how to set default_host_url
我正在嘗試運行系統測試,在其中訪問外部服務,然后重定向回我自己的應用程序。
在此系統測試中,如何訪問正在運行的測試的完整 url? 我找不到當前的本地主機端口,因此無法將正確的重定向 URL 發送到外部服務。
在互聯網上搜索了一些之后,我找到了答案。
基於這篇文章,我補充說
def setup
Rails.application.routes.default_url_options[:host] = Capybara.current_session.server.host
Rails.application.routes.default_url_options[:port] = Capybara.current_session.server.port
end
到我的application_system_test_case.rb
。
這允許所有_url
方法在系統測試中工作。
Rails 6. 唯一對我有用的東西:
# inside a subclass of ActionDispatch::IntegrationTest or ActionDispatch::SystemTestCase
setup do
self.default_url_options = {...}
end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.