我有一个使用 servlet 和 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 应用程序中使用类似的东西吗?