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老版本已经基本满足现在需要)