我有发送电子邮件的简单方法:一个方法应该抛出一个例外的单元测试?
public void notifyEmail(string messageSubject, string messageBody)
{
MailMessage message = new MailMessage(from, to);
message.Subject = messageSubject;
message.Body = messageBody;
SmtpClient client = new SmtpClient(smtp_client);
client.Send(message);
message.Dispose();//release everything related
}
以及单元测试(我学习):
[TestMethod()]
public void notifyEmailTest()
{
eMail target = new eMail("TEST Subject","TEST Body"); // TODO: Initialize to an appropriate value
bool testSent = true;
try
{
target.notifyEmail();
}
catch (Exception)
{
testSent = false;
}
Assert.IsTrue(testSent);
}
我特意设置的smtp_client变量值的东西无效。
在我的项目中运行代码会导致错误。
运行测试方法会导致Pass。我的测试或方法应该采用不同的结构,以便测试失败?
你肯定需要重构你的测试。你是否想要重构你的代码取决于你是否想让它更易于测试。 – Bernard 2012-04-23 19:03:17