mock是什么?怎么用?-创新互联

什么是mock?

mock就是在开发过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试开发的方法。

成都创新互联公司主要从事成都做网站、成都网站制作、网页设计、企业做网站、公司建网站等业务。立足成都服务宕昌,十载网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575

mock测试

就是在测试过程中,对于某些不容易构造或者 不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法。

mock对象

这个虚拟的对象就是mock对象。mock对象就是真实对象在调试期间的代替品。

mock对象使用范畴

真实对象具有不可确定的行为,产生不可预测的效果,(如:股票行情,天气预报) 真实对象很难被创建的 真实对象的某些行为很难被触发 真实对象实际上还不存在的(和其他开发小组或者和新的硬件打交道)等等.

使用mock对象测试的关键步骤

使用一个接口来描述这个对象 在产品代码中实现这个接口 在测试代码中实现这个接口 在被测试代码中只是通过接口来引用对象,所以它不知道这个引用的对象是真实对象还是mock对象。

MockObject

使用Mock Object进行测试,主要是用来模拟那些在应用中不容易构造(如HttpServletRequest必须在Servlet容器中才能构造出来)或者比较复杂的对象(如JDBC中的ResultSet对象)从而使测试顺利进行的工具。

目前,在Java阵营中主要的Mock测试工具有JMock,MockCreator,Mockrunner,EasyMock,MockMaker等,在微软的.Net阵营中主要是Nmock,.NetMock等。

使用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是指定端口的意思,访问的时候记得加端口号。

另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


名称栏目:mock是什么?怎么用?-创新互联
网页路径:http://ybzwz.com/article/jhesd.html