module ActionMailer::TestHelper
def capture_emails(&block)
assert_equal "Hi there", emails.first.subject
end
ContactMailer.welcome.deliver_later
ContactMailer.welcome.deliver_now
emails = capture_emails do
assert_equal "Hi there", emails.first.subject
end
ContactMailer.welcome.deliver_now
emails = capture_emails do
def test_emails
Returns any emails that are sent in the block.
def capture_emails(&block) original_count = ActionMailer::Base.deliveries.size deliver_enqueued_emails(&block) new_count = ActionMailer::Base.deliveries.size diff = new_count - original_count ActionMailer::Base.deliveries.last(diff) end