我的應用程序發送包含絕對URL的電子郵件。Rails,測試郵件網址
我在配置/環境/ development.rb
config.action_mailer.default_url_options = { :host => 'localhost:3000' }
現在我想測試,如果電子郵件包含有效的URL設置的主機。使用正則表達式,我從電子郵件中提取完整的URL,並且想使用Capybara功能訪問此地址。
mail = ActionMailer::Base.deliveries.last
address = mail.body.to_s[%r{http.+/edit}]
visit address;
但我不知道是什麼主機應該在配置/環境/ test.rb
設置當我設置本地主機:3000它會嘗試連接到我的rails server
命令啓動本地服務器。
你有什麼想法來解決這個問題嗎?
測試環境已準備好處理此請求,我想訪問此地址。我認爲唯一的方法是將URL轉換爲實際路徑。如果地址是String對象,是否有這樣做的好方法? – Konrad
使用URI.parse(string)來獲取一個URI對象,然後更改它的主機,然後以字符串的形式將其吐出。 –