blog.sowatchasayin

Rails etc.

メールもrspec on Railsしちゃおう

できるぞ~。

送るメールはファイルを直接読みました。
before do
  raw_email = File.read(RAILS_ROOT + '/どこか/test.eml')
  @mail = TMail::Mail.parse(raw_email)
  @mail.to = "アドレス"
end 

受信はコンソールからやる時と同じ。
to_sでTmailのメールオブジェクトから生メールに戻してあげて。
UserMailer.receive(@mail.to_s)

何を送ったかも~ わかるよ~♪
describe "送ったら" do
  it "送った個数が増えるはず!" do 
  lambda{
    #ここで送る
  }.should change(sent, :count).by(1)
end 
sent.first.bodyで本文見れます。

例によって受け売りです。
RSpec: Testing Mail Delivery (simple)

No comments:

Post a Comment

Author

Fujimura Daisuke
http://fujimuradaisuke.com

Labels