mock 数据
mock 数据的好处
-
团队可以并行工作 有了Mock,前后端人员只需要定义好接口文档就可以开始并行工作,互不影响,只在最后的联调阶段往来密切;后端与后端之间如果有接口耦合,也同样能被Mock解决;测试过程中如果遇到依赖接口没有准备好,同样可以借助Mock;不会出现一个团队等待另一个团队的情况。这样的话,开发自测阶段就可以及早开展,从而发现缺陷的时机也提前了,有利于整个产品质量以及进度的保证。
-
开启TDD模式,即测试驱动开发 单元测试是TDD实现的基石,而TDD经常会碰到协同模块尚未开发完成的情况,但是有了mock,这些一切都不是问题。当接口定义好后,测试人员就可以创建一个Mock,把接口添加到自动化测试环境,提前创建测试。
-
可以模拟那些无法访问的资源 比如说,你需要调用一个“墙”外的资源来方便自己调试,就可以自己Mock一个。
-
隔离系统 假如我们需要调用一个post请求,为了获得某个响应,来看当前系统是否能正确处理返回的“响应”,但是这个post请求会造成数据库中数据的污染,那么就可以充分利用Mock,构造一个虚拟的post请求,我们给他指定返回就好了
-
可以用来演示 假如我们需要创建一个演示程序,并且做了简单的UI,那么在完全没有开发后端服务的情况下,也可以进行演示。说到演示了,假如你已经做好了一个系统,并且需要给客户进行演示,但是里面有些真实数据并不想让用户看到,那么同样,你可以用Mock接口把这些敏感信息接口全部替换。
-
测试覆盖度 假如有一个接口,有100个不同类型的返回,我们需要测试它在不同返回下,系统是否能够正常响应,但是有些返回在正常情况下基本不会发生,难道你要千方百计地给系统做各种手脚让他返回以便测试吗?比如,我们需要测试在当接口发生500错误的时候,app是否崩溃,别告诉我你一定要给服务端代码做些手脚让他返回500 。。。而使用mock,这一切就都好办了,想要什么返回就模拟什么返回,妈妈再也不用担心我的测试覆盖度了
作者:初入前端的小菜鸟 链接:https://www.jianshu.com/p/63056120fab8 来源:简书 这上面总结的挺全面的 ,我就不在累赘的叙述了 .
如何mock数据
Moco是一个可以轻松搭建测试服务器的框架/工具/程序库。
缘由
集成,尤其是基于HTTP协议的集成——web service,REST等,在我们的项目开发中被广泛应用。
以前,我们每次都要往Jetty或Tomcat等应用服务器上部署一个新的WAR。大家都知道,开发部署一个WAR的过程是很枯燥的,即使在嵌入式服务器上也是如此。而且,每次我们做一点改动,整个WAR都要重新组装。
**使用场景
-
我是一个企业级软件开发人员,每次面对集成就是我头疼开始的时候,漫长集成拉锯战拖延了我们的进度。幸好有了Moco,几行配置就可以模拟一个服务,我再也不需要看集成服务团队的脸色了。
-
我是一个移动开发人员,老板催得紧,可服务器端开发进度慢,我空有一个漂亮的iphone应用,发挥不出作用。幸好有了Moco,很快就可以搭建出一个模拟服务,我再也不用把生命浪费在无效的等待上了。
-
我是一个前端开发人员,做Inception的时候,客户总想看到一个完整的应用演示,可哪有时间开发后端服务啊!幸好有了Moco,几下就可以弄出一个模拟服务,我做的页面一下就有了生命力。
使用Moco
Moco目前支持多种使用方式,最基本的方式是两种:API和独立运行。
如果你编写的是个Java应用(或是以其它JVM上的语言编写的应用),你可以采用直接调用API;我们也可以独立运行的方式,在配置文件中,配置一个属于自己的服务器。
如果你是Mac或是Linux用户,你还可以选择Shell的方式运行。事实上,它是最简单的方式,它会自动帮助你找到最新版本的Moco。
如果你在用Maven,那么Moco的Maven插件你一定会喜欢。作为一个新时代的自动化用户,Gradle插件也是不可或缺的。
下载moco
在github上可以下载到moco文件 ,moco是java编写的
设置mock请求和返回的mock文件 ----json文件
运行
启动起来 端口是12306
java -jar .\moco-runner-1.1.0-standalone.jar http -p 12306 -c .\foo.json
测试 是否能够mock数据 ,使用postman进行验证