module ActionMailer::TestHelper

def capture_emails(&block)

end
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