ユーザーが登録確認メールを受信するかどうかを検証する統合テストをいくつか書きたいと思います。
理想的には、この目的のために:
シンプルなAPIを提供する使い捨ての電子メールアカウントはありますか?何も見つかりませんでしたが、既存のものは解析やリクエストの作成がかなり簡単です(例: http://10minutemail.com/ )。
これは良い考えのように聞こえますか?代わりに、いくつかのGmailアカウントを使用し、この目的でタグを使用します。ただし、スパムフォルダーや他のフォルダーなどのメッセージの処理は、少し複雑に聞こえます。
http://mailinator.com はPOP3をサポートしています。
任意のユーザー名でPOP3経由でサーバーに接続し、電子メールを確認します。
gmailからのメールでテストできます。+something
からメールアドレス:
通常のGmailアドレスに配信されるテストアカウントを作成できます。
私はこの質問が比較的古いことを知っていますが、これはあなたの目的に非常によく適合します:
私は、メールのテスト中、またはメールの確認が必要な、一度しか使用しないサービスにサインアップするときに、毎日使用します。
私はそれを強くお勧めします!
APIを使用して、QA/QCエンジニア向けの特別なサービスを使用できます。
さらに記事で読むことができます http://railsware.com/blog/2012/06/18/remove-qa-headache-while-testing-email-delivery/
Linuxマシンで実行している場合は、すでにメールサービスが実行されています(username@localhost
...例root@localhost
)これは、メールスクリプトのテストに最適です。
メールを送信する最終段階ではなく、依存性注入を使用してモックメーリングクラスを作成し、統合テストを適切に実行できるようにした方がよい場合に、なぜこれを自動化する問題に行くのかわかりません。単にコンテンツをファイルやデータベースに書き込むか、ガベージコレクションの前にテストできる期間だけモックオブジェクト内に存続します。