1.基本概念

1.1.mock

mock测试就是在​​测试过程​​中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法。这个虚拟的对象就是mock对象。mock对象就是真实对象在调试期间的代替品。

主要目标:

团队可以并行工作

有了Mock,前后端人员只需要定义好接口文档就可以开始并行工作,互不影响,只在最后的联调阶段往来密切;后端与后端之间如果有接口耦合,也同样能被Mock解决;测试过程中如果遇到依赖接口没有准备好,同样可以借助Mock;不会出现一个团队等待另一个团队的情况。这样的话,开发自测阶段就可以及早开展,从而发现缺陷的时机也提前了,有利于整个产品质量以及进度的保证。

2.2.接口文档生成/编写工具



主要实现理想目标:

1.实现接口文档的对外提供,包括易于编写、方便存储、可以实现版本记录等。

2.mock接口数据模拟、前端后端都要有合适的提供方式

2.该工具/框架稳定成熟。

3.学习成本低。




2.swagger优点与问题--

原生开源产品:功能虽然强大。但是碎片化,

比如如果使用操作流程:使用编辑器编写接口文档

若要使用需要自己整合。暂不考虑。


springfox集成版:

优点:重点:学习成本低,开发效率高;--与代码耦合度高

学习简单,上手超快。

由于是在代码上操作,相当于在编写部分代码,基本api文档写完,接口也相当于写了一部分,类似自动生成代码一样的功效。


缺点:重点:与代码耦合度高,mock支持较难

与代码高度耦合,这样带来的问题比如:接口文档存储或版本如何控制(跟着git走?)、生产环境是否提供文档接口(性能?,但是不提供想看文档只可以从git下代码看)、如果仅仅修改接口文档也挺繁琐、rose集成(springfox-swagger2貌似是依赖与Spring MVC框架的)等

mock支持:貌似没有现成的,

自己实现的话,的把接口yml生成-》整合第三方支持swagger2的Mock工具,并将生成的yml导入-》按照第三方规则编写mock模拟数据规则


3.rap

优点:

1.基本满足实现功能使用:理想目标1、2、3、4

缺点:已停止更新


4.rap2

优点:实现了大部分的rap老本版功能

缺点:不是很问题,bug较多


最终方案:

使用rap本地部署来实现目前需求

可考虑未来升级rap2(rap老版本已经基本满足现在需要)