关于mock

1、什么是mock?

通俗来说,在开发和测试过程当中,因为环境不稳定或者协同开发的同事未完成等状况下,有些数据不容易构造或者不容易获取,就建立一个虚拟的对象或者数据样本,用来辅助开发或者测试工做。减轻了对于协同模块的依赖,使开发以及测试变得更加独立。后端

2、为何要使用mock?

如今的不少项目,基本都是划分为一个个小模块进行的,各个模块相互依赖,须要协同进行。可是实际开发过程当中,因为各类缘由,某些模块在当下多是不可用的,这就对耦合较高的协同模块会产生不良影响,而使用mock,制造模拟数据,能够减轻这种负面因素。前后端分离

以下的一些场景,可使用mock很大程度上减轻这些负面影响。测试

  1. 所须要数据难以获取(好比后端接口没写好,异常、特殊场景的数据):这些特殊状况和场景下,可能生成一段真实数据很浪费时间,或者当下作不到。而使用mock比真实数据方便不少,此时mock就至关于真实接口数据的替代品,辅助其余相关联模块的开发;
  2. 先后端分离,并行开发:先后端商定好接口标准后,按照统一的标准进行同时开发,规避对互相的依赖,减小时间浪费;
  3. 先后端分离中,对于某些特殊接口,可能不能实际执行,否则会对数据形成污染,此时能够mock一个返回数据,规避此状况,而又不影响实际开发;
  4. 自动化测试:若是在自动化测试中,出现了第三方数据不稳定或者其余状况,会影响测试进度,以及不方便定位问题所在。此时若是利用mock技术,模拟一种其余模块都是正常的场景,专门测试当前模块,能够减轻这种异常状况的干扰,方便定位问题;而且能够本身创造各类不一样的数据,方便覆盖测试的各类状况。

3、mock的优缺点分析

优势:对象

  1. 将本模块经过mock隔离起来,避免由于其余模块的问题,致使自身模块出现异常;
  2. 先后端分离式开发中,经过制定好的接口规范,并行开发,提升整体开发效率;
  3. 测试过程当中,所依赖的模块异常时,可使用mock数据替代,不影响测试进度;
  4. 对于一些难构建的数据,可使用mock来模拟;

风险:接口

  1. 测试的过程当中,若是大量使用mock,会使mock测试的场景失去了真实性,可能会到接入真实数据的时候才会发现缺陷,会形成后续修复成本较高。
相关文章
相关标签/搜索