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

发表于:2010-03-03来源:作者:点击数: 标签:软件测试工具javaJavaJAVA
软件测试工具 Java 的邮件发送 单元测试 工具 单元测试和驱动测试 开发 是 敏捷 软件开发过程提倡的方式,对于不依赖于外部环境的功能模块,单元测试并不是很困难的事情。但是,某些和外部应用程序密切关联的功能,例如发送电子邮件,单元测试就困难的多了。

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

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

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


java 代码
public class SimpleSmtpServerTest extends TestCase {
...
public void testSend() {
SimpleSmtpServer server = SimpleSmtpServer.start();

try {
// Submits an email using javamail to the email server listening on port 25
// (method not shown here). Replace this with a call to your app logic.
sendMessage(25, "sender@here.com", "Test", "Test Body", "receiver@there.com");
} catch(Exception e) {
e.printStackTrace();
fail("Unexpected exception: "+e);
}

server.stop();

assertTrue(server.getReceivedEmailSize() == 1);
Iterator emailIter = server.getReceivedEmail();
SmtpMessage email = (SmtpMessage)emailIter.next();
assertTrue(email.getHeaderValue("Subject").equals("Test"));
assertTrue(email.getBody().equals("Test Body"));
}
...
}


是不是很简单?

原文转自:http://www.ltesting.net