2012-01-22 5 views
1

私は、レール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(キュウリの機能にはスポークは使用されません)。

手がかり、誰ですか?

+0

Gemfile.lock(rails、rspec、およびemail_specの各バージョン)の関連コンテンツを投稿してください。 – Gazler

+0

@Gazler確かに、私はメインポストにリンクを追加しました。 –

答えて

0

てみ設定:あなたのfeatures/support/env.rb以上で

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

は、単にそれがどこかにバグです、ここでは同様の問題を持つ人々を見ることができます:https://github.com/bmabey/email-spec/issues?sort=created&direction=desc&state=open&page=1

いくつかのための本当の電子メールを送信しないように外に目を離しません理由(バグなど)

delivery_method - 配信方法を定義します。可能な値は、smtp(デフォルト)、:sendmail、:test、および:fileです。または、カスタム配信メソッドオブジェクトを提供することもできます。 MyOwnDeliveryMethodClass.new。カスタム配送エージェントのために実装する必要のあるインタフェースのMail gemドキュメントを参照してください。

perform_deliveries - メールメッセージまたはアクションメーラーメソッドで.deliverを呼び出すときに、実際にアクションメーラーから電子メールを送信するかどうかを指定します。これはデフォルトでオンになっていますが、機能テストのためにオフにすることができます。

deliveries - delivery_method:testを使用してアクションメーラーから送信されたすべての電子メールの配列を保持します。ユニットテストと機能テストに最も役立ちます。

関連する問題