我有一个使用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!");
}但是,当我在test方法中提交表单时,电子邮件就会发送出去。有没有一种方法可以像Rails一样测试这个电子邮件功能?在Rails中,当您在测试环境中时,应用程序不会发送真正的电子邮件。相反,它会将这些电子邮件添加到某种测试队列中,您可以在其中检查电子邮件是否已经发送。
我可以在Java web应用程序中使用类似的东西吗?
发布于 2013-08-23 14:44:58
JSP/Servlets中没有内置任何东西可以让这一切自动发生;Rails是一个框架,而JSP/Servlets是较低级别的。但是您的应用程序可能有一些特定于环境的属性存储在文本文件或数据库中;如果您创建了一个布尔型属性,比如suppressMailSend,然后使用这个布尔值来控制您的邮件发送代码是否真的发送了邮件(如果没有的话,还可能将消息记录到您的应用程序日志中),那么就可以做到这一点。(还可以有条件地将这些邮件发送给您自己,而不是它们的预期收件人--在主题行中附加“真实”收件人地址,这样您就可以知道邮件在生产环境中将发送给谁--如果您想查看发送的邮件是什么样子,这一点很有帮助。)
发布于 2017-07-25 05:58:30
Post Hoc是一个Java/JSP应用程序,它的作用类似于SMTP服务器,它将从您的应用程序接收电子邮件,并将它们存储在一个列表中,该列表具有一个允许您检查电子邮件的用户界面。它很容易安装,并且开销非常低。免费提供,开源。
Git集线器:Git Hub Site
https://stackoverflow.com/questions/18369710
复制相似问题