什么是mock?
mock就是在开发过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试开发的方法。
使用mock有什么好处?
1.团队可以更好地并发工作
并发?没错,技术人员就应该用并发这个词。使用mock,各团队之间可以不需要再互相等待对方的进度,只需要约定好相互之间的数据规范(文档),即可使用mock构建一个可用的接口,可以更快的进行开发和调试以及自测,提升开发进度的同时,也将发现缺陷的时间点大大提前。
2.开启TDD(Test-Driven Development)模式,传说中的测试驱动开发
单元测试是TDD的常规操作,试想一下,当你测试过程中,某些协同模块没有完成,如何进行测试?这时mock就能很好的帮助你解决这个问题。当接口定义好后,测试人员就可以创建一个mock,把接口添加到自动化测试环境,提前创建测试。
3.测试覆盖率
比如一个接口在各种不同的状态下要返回不同的值,我们的传统的做法是复现这种状态然后再去请求接口,这是非常不科学的做法,而且这种复现方法很大可能性因为操作的时机或者操作方式不当导致失败,甚至污染之前数据库中的数据。如果我们使用mock,就完全不用担心这些问题。
4.方便演示
通过使用mock模拟数据接口,我们即可在只开发了UI的情况下,无须服务端的开发就可以进行产品的演示。
5.隔离系统
在使用某些接口的时候,为了避免系统中数据库被污染,我们可以将这些接口调整为mock的模式,以此保证数据库的干净。
如何使用mock?
mock有很多的在线平台,基本上都要注册,并且不稳定。所以longyoung我就萌发了一个想法,能不能本地搭一个mock,方便快捷。即使没网也可以工作,是不是很爽?在上网找了一圈,发现没有比较简单的方法,后来通过努力,终于实现了。方法很简单,因此不是特别智能,后期可以想办法升级下方法。废话少说,直接上步骤:
1.安装Node.js,请自行搜索安装。
2.随便到一个目录下创建一个文件存放json数据,如:test.json。
3.cd命令切换到文件目录(如:D:\gittest\test),执行命令:http-server -p 5050。-p是指定端口的意思,访问的时候记得加端口号。
4.访问方法:http://192.168.3.252:5050/test.json。ip+端口+文件名(包含后缀)。
PS:本文原创发于微信公众号longyoung,关注并回复「51电子书」免费领取程序员必读经典电子书。