Mock对实在利用中的意义大红鹰葡京会

回去目录

Mock在单元测量检验里的意思

Mock测验就是在测量试验进程中,对于有个别不便于构造大概不便于拿到的对象,用二个伪造的对象来创建以
便测量试验的测验方法。三个机械钟凭借时间来开展提示服务,假设过了下午5点钟就播放音频文件
提醒大家下班了,假若大家要选择真实的靶子来测量试验的话就只非常的苦苦等到早上五点,然后把耳朵放在音箱
旁,我们相应使用mock对象[1]
来进展测量检验,那样大家就能够效仿调控时间了,而不用苦苦等待挂钟转
到下午5点钟了。

干什么要用Mock

  1. 依傍接口的章程完毕,方便测验,无需额外创立新的品类
  2. 对并入测验很有要求
  3. 显示了面向接口编制程序的主要和必要性
  4. 诚如将数据层进行Mock,通过对数码的模仿,来落实职业的准头

    #### 输入参数和预期结果

    作者们可以定义七个指标,输入参数是我们给测量试验方法传递的本来数据,它通过总括逻辑临盆新的结果;
    而预期结果是大家从真正情况中经过输入参数发生的正经八百结果;在通过mock测量检验之后,大家把战战兢兢的预
    期结果和测量检验发生的结果实行自己检查自纠,那样能够印证工作逻辑的不易!

    #### 使用方法

     //注册一个mock对象,并重写它的方法GetClosing,伪造它的返回结果
     _report_CashFlowDao = new Mock<IReport_CashFlowDao>();
     _report_CashFlowDao.Setup(p => p.GetClosing(270, new DateTime(2017, 10, 31))).Returns(() =>
     {
     return _sheetReportList;
     });
    

    下面业务层方法信任于它,通过构造方法把它注入进来

     _cashFlowService = new CashFlowService(_report_CashFlowDao.Object);
     _cashFlowService.HandleOrder(1139);
    

    通过上边代码大家达成的多个作业场景的mock进程,并最后调用了它的HandlerOrder方法,在那间大家与
    数据库人机联作的IReport_CashFlowDao对象是被模仿出来的,大家可感觉它提供多份模拟数据,以便更客观
    的测验结果的不易!
    待续……
    回到目录

admin

网站地图xml地图