Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsp 在不发送电子邮件的情况下使用JWebUnit测试电子邮件联系人表单_Jsp_Jakarta Ee_Servlets_Email_Jwebunit - Fatal编程技术网

Jsp 在不发送电子邮件的情况下使用JWebUnit测试电子邮件联系人表单

Jsp 在不发送电子邮件的情况下使用JWebUnit测试电子邮件联系人表单,jsp,jakarta-ee,servlets,email,jwebunit,Jsp,Jakarta Ee,Servlets,Email,Jwebunit,我有一个使用servlet和JSP页面构建的Java web应用程序。我已经使用JWebUnit()编写了一些集成测试 我有一个这样的测试方法: @Test public void testContact() { beginAt("contact"); assertResponseCode(200); assertFormPresent("form_contact"); assertElementPresent("page_contact_form_uitleg"); assertTextIn

我有一个使用servlet和JSP页面构建的Java web应用程序。我已经使用JWebUnit()编写了一些集成测试

我有一个这样的测试方法:

@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应用程序中使用类似的东西吗?

JSP/Servlets中没有内置任何东西可以让这种情况自动发生;Rails是一个框架,而JSP/servlet是较低级别的。但你的应用程序可能有一些特定于环境的属性存储在文本文件或数据库中;如果您创建一个布尔值,如
suppressMailSend
,然后使用此布尔值控制您的邮件发送代码是否实际发送邮件(如果不发送,可能会将邮件记录到您的应用程序日志),那么就可以了。(一个有用的方法是有条件地将这些邮件发送给您自己,而不是发送给他们预期的收件人——在主题行中添加“真实”收件人地址,以便您知道在生产过程中邮件将发送给谁——如果您想查看发送的邮件的外观,这将非常有用。)

Post-Hoc是一个Java/JSP应用程序,其作用类似于SMTP服务器,将接收来自应用程序的电子邮件,并将其存储在一个列表中,该列表带有一个用户界面,允许您检查电子邮件。它易于安装,开销非常低。免费提供,开源

Git中心:

另外,请参阅博客帖子: