3

UI でのユーザーの更新によってトリガーされる電子メール通知を送信する Java アプリケーションがあります。メッセージを受信する方法を探して、電子メールが正常に送信されたかどうかを確認する JUnit テスト ケースを作成しようとしています。

Dumbsterは、テスト プログラム自体で電子メールを送信し、受信することを意図しているため、私には機能しませんでした。

この機能をテストするにはどうすればよいですか? 助けてくれてありがとう。

-ヴァディラジ。

4

2 に答える 2

4

まず第一に、単体テストではなく統合テストについて話しているように聞こえます。

ワンタイムセットアップ:

  • Gmail でメール アカウントを手動で作成する
  • Gmail アカウント設定で IMAP を有効にします。

Google はロボット検出を使用しているため、これらの手順を自動化するのは困難です。

テストケース:

  • 上記で作成した Gmail アカウントのメール アドレスを使用するようにユーザー アカウントを変更します。
  • テスト中のコードを実行します (特定のユーザーに対して)
  • IMAP を使用して Gmail アカウントに問い合わせる
  • IMAP を使用してメッセージを削除します (存在する場合)。

gmail の問い合わせを非常に簡単にする優れた Java-imap ライブラリがいくつかあります。クイック検索で明らかになったのは次のとおりです。

http://harikrishnan83.wordpress.com/2009/01/24/access-gmail-with-imap-using-java-mail-api/

于 2012-08-29T10:50:42.960 に答える
0

ダムスターの目的は、外部の電子メール サーバーをスタブ化することです。

これで十分でない場合は、電子メール サーバーとネットワーク インフラストラクチャの機能をテストしようとしている可能性があります。

これは、実稼働の電子メール サービスとネットワーク インフラストラクチャを使用している場合にのみ意味があります。テスト環境では構成が異なる可能性があるためです。

これが良い考えだと確信しているなら、@Lithiumの提案アプローチは理にかなっています。

テスト環境用の開発用メール サーバーがあり、テスター向けにシタデルで使用して、送信されるメールを確認できるようにしています。このテストを書くつもりなら、Google に頼るのではなく、内部メール サーバーを使用します。

于 2012-08-29T11:21:47.823 に答える