基本上,在測試配置設置它在Rails 4中的工作方式(交付方法設置爲測試等)之外,除了已替換的棄用選項外,郵件僅發送與deliver_now,而不是deliver_later。 Deliver_later在開發環境中工作,即使兩個環境中的配置相同。稍後在Rails 5中的測試環境中不能工作
測試環境配置郵件:
config.action_mailer.delivery_method = :test
config.action_mailer.perform_deliveries = true
config.action_mailer.perform_caching = false
config.action_mailer.raise_delivery_errors = true
config.action_mailer.default_url_options = { :host => 'localhost:3000' }
你試過設置'active_job.queue_adapter'嗎?來自'test.rb'的 – Aleksey
評論:測試傳遞方法將已發送的電子郵件累積到ActionMailer :: Base.deliveries數組中。那麼你爲什麼要讓他們被髮送? – Aleksey