作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我有一个创建报告并将其发送给用户的功能。我所做的是为电子邮件函数创建一个模拟,并验证是否调用了电子邮件类的“发送”函数。
现在我知道函数被调用了,但是如何对 Send() 函数的主体进行单元测试?我如何证明主题和正文是正确的,并且附件已附加到电子邮件中?
最佳答案
可以通过以下方式完成。
第 1 步:导航到您的 Web.Config
文件并向其中添加以下标签。
<system.net>
<mailSettings>
<smtp deliveryMethod="SpecifiedPickupDirectory">
<specifiedPickupDirectory pickupDirectoryLocation="E:\MailTest\"/>
</smtp>
</mailSettings>
</system.net>
确保您指定的取件位置目录必须存在。
第 2 步:现在测试您的电子邮件发送功能。我已使用 button_click
通过以下代码测试此功能。
SmtpClient smtp = new SmtpClient();
MailMessage message = new MailMessage("me@gmail.com", "me@yahoo.com","My Message Subject","This is a test message");
smtp.Send(message);
输出:它将在文件夹内创建.eml
文件,并随机生成GUID 名称,这是我们收到后可以看到的电子邮件。对我来说,它在 E:\MailTest\
文件夹中创建了一个类似 c127d1d5-255d-4a5a-873c-409e23002eef.eml
的文件
希望这有帮助:)
关于c# - 如何对邮件发送功能进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6382262/
我是一名优秀的程序员,十分优秀!