关闭

使用隔离框架构造伪对象进行单元测试

发表于:2012-9-18 10:54

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

 作者:Jeff Wong    来源:51Testing软件测试网采编

  b、EmailService

namespace MonitorService
{
    public interface IEmailService
    {
        string To { get; set; }

        string Subject { get; set; }

        string Body { get; set; }

        /// <summary>
        /// 发送邮件
        /// </summary>
        /// <param name="to"></param>
        /// <param name="subject"></param>
        /// <param name="body"></param>
        void SendEmail(string to, string subject, string body);
    }

    public class MockEmailService : IEmailService
    {
        public string To { get; set; }

        public string Subject { get; set; }

        public string Body { get; set; }

        public void SendEmail(string to, string subject, string body)
        {
            To = to;
            Subject = subject;
            Body = body;
        }
    }
}

  在配置文件监控类的Analyze方法内部实现和桩对象和模拟对象的通信:

  c、ConfigFileMonitor

using System;
using MonitorService.Contract;

namespace MonitorService.Impl
{
    /// <summary>
    /// 配置文件监控管理类
    /// </summary>
    public class ConfigFileMonitor : IFileMonitor
    {
        public ILogService LogService { get; set; }

        public IEmailService EmailService { get; set; }

        private static readonly string configFileType = ".config";//配置文件后缀

        public void Analyze(string fileName)
        {
            try
            {
                if (fileName.Length <= configFileType.Length)
                {
                    LogService.AppendLog(string.Format("input filename({0}) is too short", fileName));
                }
            }
            catch (Exception ex)
            {
                EmailService.SendEmail("jeffwong@cnblogs.com", "filename check", ex.Message);
            }
        }
    }
}

42/4<1234>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号