国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

ASP.NET系列:單元測試之SmtpClient

2019-11-14 14:26:56
字體:
供稿:網(wǎng)友

使用SmtpClient發(fā)送Email時,我們可以創(chuàng)建ISmtpClient接口和SmtpClientWrapper適配類,在單元測試中對ISmtpClient進(jìn)行Mock或自定義FackeSmtpClient,但nDumbster的Facke SMTP Server給我們提供了更直觀更簡單的方式進(jìn)行單元測試??梢酝ㄟ^Nuget搜索nDumbster,這里使用的是netDumbster。

1.IEmailSender接口

public interface IEmailSender{    void SendMail(string from, string to, string subject, string body);}

2.SMTPAdapter實(shí)現(xiàn)類

public interfacepublic class SMTPAdapter : IEmailSender{    public void SendMail(string from, string to, string subject, string body)    {        var message = new MailMessage();        message.IsBodyHtml = true;        message.From = new MailAddress(from);        message.To.Add(new MailAddress(to));        message.Subject = subject;        message.Body = body;        using (var smtpClient = new SmtpClient())        {            if (smtpClient.Host == null)            {                smtpClient.Host = "localhost";            }            smtpClient.Send(message);        }    }}

3.使用nDumbster單元測試

public class SMTPAdapterTest{    [Fact]    public void SendMailTest()    {        SimpleSmtpServer server = SimpleSmtpServer.Start(25);        IEmailSender sender = new SMTPAdapter();        sender.SendMail("sender@here.com", "receiver@there.com", "subject", "body");        Assert.Equal(1, server.ReceivedEmailCount);        SmtpMessage mail = (SmtpMessage)server.ReceivedEmail[0];        Assert.Equal("sender@here.com", mail.Headers["From"]);        Assert.Equal("receiver@there.com", mail.Headers["To"]);        Assert.Equal("subject", mail.Headers["Subject"]);        Assert.Equal("body", mail.MessageParts[0].BodyData);        server.Stop();    }}

運(yùn)行結(jié)果:


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 墨竹工卡县| 巍山| 安顺市| 昌宁县| 桦甸市| 岚皋县| 门头沟区| 叙永县| 郎溪县| 武胜县| 宁津县| 太仆寺旗| 焦作市| 苏尼特左旗| 连南| 淅川县| 许昌市| 视频| 安阳市| 民丰县| 梅河口市| 外汇| 分宜县| 咸宁市| 罗城| 特克斯县| 江山市| 黑龙江省| 大悟县| 杭州市| 贵溪市| 彭泽县| 沁水县| 炎陵县| 大城县| 开封县| 宜宾县| 扶绥县| 宜宾县| 威远县| 卓尼县|