首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在不发送电子邮件的情况下使用JWebUnit测试电子邮件联系人表单

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

Stack Overflow用户
提问于 2013-08-22 08:17:28
回答 2查看 165关注 0票数 0

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

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

代码语言:javascript
复制
@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应用程序中使用类似的东西吗?

EN

回答 2

Stack Overflow用户

发布于 2013-08-23 14:44:58

JSP/Servlets中没有内置任何东西可以让这一切自动发生;Rails是一个框架,而JSP/Servlets是较低级别的。但是您的应用程序可能有一些特定于环境的属性存储在文本文件或数据库中;如果您创建了一个布尔型属性,比如suppressMailSend,然后使用这个布尔值来控制您的邮件发送代码是否真的发送了邮件(如果没有的话,还可能将消息记录到您的应用程序日志中),那么就可以做到这一点。(还可以有条件地将这些邮件发送给您自己,而不是它们的预期收件人--在主题行中附加“真实”收件人地址,这样您就可以知道邮件在生产环境中将发送给谁--如果您想查看发送的邮件是什么样子,这一点很有帮助。)

票数 0
EN

Stack Overflow用户

发布于 2017-07-25 05:58:30

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

Git集线器:Git Hub Site

另请参阅博客文章:PostHoc: Testing Apps that Send Email

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18369710

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档