2012-01-22 76 views
1

我正在將rails 3.0.11應用程序遷移到3.1.3。不知何故,這打破了email_spec測試使用黃瓜+硒設置時收到的電子郵件的數量。使用email_spec進行郵件傳遞測試Rails 3.0.11 - > 3.1.3

config.action_mailer.delivery_method = :test,也嘗試過與:cache:file傳遞方法。無論如何,ActionMailer::Base.deliveries是空的,甚至根據日誌壽,電子郵件發送。並且重新下降到3.0.11使得所有的工作都可以重新開始。

編輯:對於特定的版本,here is my Gemfile.lock(請注意spork不用於黃瓜功能)。

線索,有人嗎?

+0

請發佈您的Gemfile.lock的相關內容(rails,rspec和email_spec版本) – Gazler

+0

@Gazler好的,我在主帖中添加了一個鏈接。 –

回答

0

嘗試設置:

ActionMailer::Base.delivery_method = :test 
ActionMailer::Base.perform_deliveries = true 
ActionMailer::Base.deliveries.clear 

features/support/env.rb或者更簡單地說這是什麼地方的錯誤,在這裏我們可以看到,有類似問題的人:https://github.com/bmabey/email-spec/issues?sort=created&direction=desc&state=open&page=1

留意,不發送一些真正的電子郵件原因(錯誤等)

delivery_method - 定義傳遞方法。可能的值是:smtp(默認),:sendmail,:test和:file。或者你可以提供一個自定義傳遞方法對象,例如。 MyOwnDeliveryMethodClass.new。請參閱您需要爲自定義交付代理實施的界面上的郵件寶石文檔。

perform_deliveries - 當您通過郵件或Action Mailer方法調用.deliver時,確定是否從Action Mailer實際發送郵件。這是默認情況下,但可以關閉,以幫助功能測試。

deliveries - 通過delivery_method:test保存通過Action Mailer發送的所有電子郵件的數組。對於單元和功能測試最爲有用。