サーブレットと JSP ページを使用して構築された Java Web アプリケーションがあります。JWebUnit ( http://jwebunit.sourceforge.net ) を使用していくつかの統合テストを作成しました。
次のようなテスト方法があります。
@Test
public void testContact() {
beginAt("contact");
assertResponseCode(200);
assertFormPresent("form_contact");
assertElementPresent("page_contact_form_uitleg");
assertTextInElement("page_contact_form_uitleg", getMessage("pagina.contact.uitleg"));
assertFormElementPresent("form_naam");
assertFormElementPresent("form_email");
assertFormElementPresent("form_boodschap");
setTextField("form_email", "joel@craenhals.eu");
setTextField("form_wachtwoord", "Joel1234!");
}
ただし、テストメソッドでフォームを送信すると、メールが送信されます。Rails のように、この電子メール機能をテストする方法はありますか? Rails でテスト環境にいる場合、アプリは実際のメールを送信していません。代わりに、それらのメールをある種のテスト キューに追加して、メールが送信されたかどうかを確認できるようにします。
Java Web アプリでそのようなものを使用できますか?