mock的那点事
前言:
Mock在GitHub上有12.9K的star可以看出,它在技术团队中是挺受欢迎的。这项技术被应用在不同领域的项目中。
适用场景:
下面我结合我们技术团队,列举最适合引入我们Mock服务的场景:
1、在我们准备开发一个新项目的时候,这时候引入Mock无疑能给我们的开发提速。(排期当然也就可以压一压了,默念:产品看不到,产品看不到)
2、在我们跨部门合作的时候,一些不容易获取的,也就是我们常说的获取难度比较高的接口,需要传很多参数才能获取的。(跨部门合作,经常遇到的,捂脸.gif)
3、一些不稳定的接口,几率性获取失败,经常报异常等(比如:物流接口、省市区接口、包裹实时位置等)
4、比较复杂的测试环境,也称为难创建的环境。
5、测试人员需要提前测接口时,可以先建个Mock,然后再把接口添加到自动化测试环境(建Mock先了解我们接口的数据结构)
6、后端与后端之间如果有接口耦合,也同样也可以适用我们的Mock来解决。(是不是眼前一亮)
6、前后端分离,前后依赖并行任务(开发自测阶段就可以及早开展,能够提前发现缺陷,我们整个产品质量以及进度得以保证。)
Mock的好处是老生常谈了,团队可以并行工作(这个是显而易见的),但是Mock的优势并不是只有这一点。
我们来聊聊Mock的其他好处:
1、测试驱动开发,也就是TDD模式。(当接口定义好后,测试人员就可以创建一个Mock,把接口添加到自动化测试环境,提前创建测试。)
2、一些无法访问的资源好比我们被隔在“墙”外,这时候Mock可以为我们提供很好的服务。
3、当我们想访问一些隔离系统,查看某个响应的时候,我们可以利用Mock虚拟post然后指定返回。
4、当我们需要演示项目,后台接口没有开发完成,这时候Mock可以给我们很大的帮助。
5、如果一个接口有很多的返回类型(比如50多种),我们需要测试在这些情况,系统能否正常响应。这时候,难道要后台人员添加各种脚本?答案当然是NO,Mock你想返回什么就返回什么。(妈妈再也不用担心我的测试覆盖度了)
6、当然啦,Mock的好处不止这些,咋们就不啰嗦重复讲来。
诚然,Mock有一些细节处理可能不是很完美,但在它的优点面前这些都微不足道。
mock的那点事的更多相关文章
- 从接口、抽象类到工厂模式再到JVM来总结一些问题
俗话说,自己写的代码,6个月后也是别人的代码……复习!复习!复习! 涉及到的知识点总结如下: 为什么使用接口? 接口和抽象类的区别 简单工厂模式总结 Java中new和newInstance的区别 J ...
- 微信小程序学习 动手撸一个校园网小程序
动手撸一个校园网微信小程序 高考完毕,想必广大学子和家长们都在忙着查询各所高校的信息,刚好上手微信小程序,当练手也当为自己的学校做点宣传,便当即撸了一个校园网微信小程序. 效果预览 源码地址:Gith ...
- go test 测试用例那些事(二) mock
关于go的单元测试,之前有写过一篇帖子go test测试用例那些事,但是没有说go官方的库mock,很有必要单独说一下这个库,和他的实现原理. mock主要的功能是对接口的模拟,需要在写代码的时候定义 ...
- nodejs之mock与跨域代理的三两事
emmm...好久没写博客了,都忘了该怎么开始. 那就先说下mockjs.因为一些原因,导致后台接口没有数据,那么我们就开始自己造数据,使用的是比较流行mockjs,根据文档就能简单的配置,然后开始愉 ...
- mock.js
mock.js http://mockjs.com/ https://github.com/nuysoft/Mock/wiki 为了完成angularjs的karma测试,看到这个好东东,这货能拦截a ...
- 关于angularjS与jQuery框架的那些事
这篇文章主要介绍了jQuery和angularJS的区别浅析,本文着重讲解一个熟悉jQuery的程序员如何应对angularJS中的一些编程思想的转变吗,需要的朋友可以参考下 最近一直研究angula ...
- mock.js-无需等待,让前端独立于后端进行开发
概述 首先啦,我不认识mock.js的作者,带着需求找到mock.js让我觉得很惊艳. 相对于其他同类的框架的实现,mock.js超出了我的意料. 基于 数据模板 生成模拟数据. 基于 HTML模板 ...
- react.js 你应知道的9件事
React.js 初学者应该知道的 9 件事 本文假定你已经有了一下基本的概念.如果你不熟悉 component.props 或者 state 这些名词,你最好先去阅读下官方起步和手册.下面的代码 ...
- mock server相关解决方案
前后端分离之后 前后端分离后, 大家从此进入了所谓的并行开发时代. 一旦完成前后端的(边界)分工, 大家就可以各司其职了. 前端在与后端交互时, 要想有效地提高工作效率, 后端的接口文档就是重中之重了 ...
随机推荐
- 作业5:Java编译原理
零.编译 1.编译器 (1)前端编译器:.java文件转变为.class文件Sun的javacEclipse JDT中的增量编译器(ECJ) (2)后端编译器:.class文件转变为机器码HotSpo ...
- 进阶Java编程(6)正则表达式
正则表达式 通过之前一系列的分析可以发现,String是一个非常万能的类型,因为String不仅仅可以支持有各种字符串的处理操作,也支持有向各个数据类型的转换功能,所以在项目的开发之中,只要用户输入的 ...
- 【原创】大叔经验分享(68)maven工程查看jar包依赖
1 idea 结果 2 maven命令 $ mvn dependency:tree 结果 [INFO] +- org.springframework.boot:spring-boot-starter- ...
- c3p0似有属性配置
c3p0私有属性配置: 始化时创建的连接数,应在minPoolSize与maxPoolSize之间取值.默认为3 initialPoolSize=20 接池中保留的最大连接数.默认为15 maxPoo ...
- python之时间日期datetime
相比于time模块,datetime模块的接口则更直观.更容易调用datetime模块定义了以下几个类: datetime.date():表示日期的类.常用的属性是year,month,day:dat ...
- 第五篇.python进阶
目录 第五篇.python进阶 1. 异常处理 2. 数字类型内置方法 2.定义: 3.常用操作+内置方法: 4.存一个值or多个值: 5.有序or无序: 6.可变和不可变 1.用途: 2.定义: 3 ...
- functools:管理函数的工具
介绍 functools模块提供了一些工具来管理或扩展和其他callable对象,从而不必完全重写 修饰符 偏函数partial from functools import partial ''' f ...
- Mysql(四)-1:单表查询
一 单表查询的语法 SELECT 字段1,字段2... FROM 表名 WHERE 条件 GROUP BY field HAVING 筛选 ORDER BY field LIMIT 限制条数 二 关键 ...
- Linux中退出编辑模式的命令
vim 有三种模式,注意:这三种模式有很多不同的叫法,我这里是按照鸟哥的linux书中的叫法. 一般指令模式.编辑模式.指令列命令模式 1.vim 文件名 进入一般模式: 2.按 i 进行编 ...
- LoadRunner(1)
性能测试:HP LoadRunner11 一.初步概念: 1.功能测试:测试产品的功能是否满足功能需求. 如:ATM取款(在线取款)是否成功或转账操作是否成功 -- 一个用户 2.性能测试:测试产品的 ...