2

Resque を使用して、devise-async gem を使用してデバイスのメールを非同期的に送信しています。

ActionMailer::Base.deliveries 配列を調べることで、たとえば、忘れたパスワードが送信されていることを確認するために、いくつかの簡単な RSpec コントローラー テストを行っています。

これは、devise-async gem を使い始める前に機能していました。ActionMailer::Base.deliveries になるように、キューにあるメールをすぐに「送信」するにはどうすればよいですか?

たとえば、delayed_job を使用して (devise-async gem を使用せずに) 非同期に送信した場合、これをデバイス初期化子に追加できます。

Delayed::Worker.delay_jobs = !Rails.env.test?

テストを容易にするために、すぐにメールを配信します。だから - devise-async を使用するときに使用できる同様の手法はありますか?

4

2 に答える 2

3

次の行を spec_helper.rb に追加します。

Devise::Async.enabled = false

そしてそれはうまくいきました。

于 2013-08-16T12:02:34.777 に答える
0

わかりました-答えが見つかりました:

初期化ファイルで、次の操作を行います。

Resque::Mailer.excluded_environments = [:test]

一般的な Resque ジョブの場合は、次を追加します。

Resque.inline = Rails.env.test?
于 2012-09-29T10:21:31.937 に答える