Java的邮件发送单元测试工具- Dumbster

发表于:2007-10-29 12:06

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:robbin    来源:网络转载

        单元测试和驱动测试开发是敏捷软件开发过程提倡的方式,对于不依赖于外部环境的功能模块,单元测试并不是很困难的事情。但是,某些和外部应用程序密切关联的功能,例如发送电子邮件,单元测试就困难的多了。

        Dumbster是一个非常简单的Java SMTP Server,支持完整的SMTP命令,但是它并不是一个真正的邮件服务器,并不会把邮件真正发送出去,而且存储起来,也便于检查和单元测试的验证。我们来看一个用Dumbster来写邮件发送的单元测试:

java 代码
  1. public class SimpleSmtpServerTest extends TestCase {   
  2. ...   
  3.   public void testSend() {   
  4.     SimpleSmtpServer server = SimpleSmtpServer.start();   
  5.   
  6.     try {   
  7.       // Submits an email using javamail to the email server listening on port 25   
  8.       // (method not shown here). Replace this with a call to your app logic.  
  9.       sendMessage(25"sender@here.com""Test""Test Body""receiver@there.com");   
  10.     } catch(Exception e) {   
  11.       e.printStackTrace();   
  12.       fail("Unexpected exception: "+e);   
  13.     }   
  14.   
  15.     server.stop();   
  16.   
  17.     assertTrue(server.getReceivedEmailSize() == 1);   
  18.     Iterator emailIter = server.getReceivedEmail();   
  19.     SmtpMessage email = (SmtpMessage)emailIter.next();   
  20.     assertTrue(email.getHeaderValue("Subject").equals("Test"));   
  21.     assertTrue(email.getBody().equals("Test Body"));       
  22.   }   
  23. ...     
  24. }   

        是不是很简单?

Dumbster的下载地址:

http://sourceforge.net/projects/dumbster

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号