簡體   English   中英

Rails 系統測試:如何設置 default_host_url

[英]Rails System Test: how to set default_host_url

  • 導軌:5.2.1
  • 開箱即用的測試設置
  • 以 chrome 作為驅動程序運行(正常和無頭)

我正在嘗試運行系統測試,在其中訪問外部服務,然后重定向回我自己的應用程序。

在此系統測試中,如何訪問正在運行的測試的完整 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM