メイラーのテスト

開発とテストでは、実際に電子メールを誤って送信することは望ましくありません。配送方法これら2つのENVSのためにに設定されています:test

メーラーがメッセージを送ったと主張するために、私たちは見ることができますHanami::Mailer.deliveries。これはフレームワークがテスト中に送ろうとするメッセージの配列です。テストの設定でそれらをクリアしてください。

# spec/bookshelf/mailers/welcome_spec.rb
require 'spec_helper'

describe Mailers::Welcome do
  before do
    Hanami::Mailer.deliveries.clear
  end

  let(:user) { ... }

  it "delivers welcome email" do
    Mailers::Welcome.deliver(user: user)
    mail = Hanami::Mailer.deliveries.last

    mail.to.must_equal             [user.email]
    mail.body.encoded.must_include "Hello, #{ user.name }"
  end
end