Mock是什么
- 在软件测试过程中,对一些不容易构造、获取的对象,用一个虚拟的对象来替代它,以达到相同的效果,这个虚拟的对象就是Mock。
- 在前后端分离项目中,当后端工程师还没有完成接口开发的时候,前端开发工程师利用Mock技术,自己用mock技术先调用一个虚拟的接口,模拟接口返回的数据,来完成前端页面的开发。
- 接口测试和前端开发有一个共同点,就是都需要用到后端工程师提供的接口。所以,当我们做接口测试的时候,如果后端某些接口还不成熟、所依赖的接口不稳定或者所依赖的接口为第三方接口、构造依赖的接口数据太复杂等问题时,我们可以用mock的方式先虚拟这些接口返回来代替,提高工作效率。
Mock的介绍
- 实现mock的技术很多,这些技术中,可以分为两类,mock数据和mock服务
- mock数据:即mock一个对象,写入一些预期的值,通过它进行自己想要的测试。常见有:EasyMock、Mockito、WireMock、JMockit,主要适用单元测试。
- mock服务:即mock一个sever,构造一个依赖的服务并给予他预期的服务返回值,适用范围广,更加适合集成测试,如:moco框架。
- Moco是类似一个Mock的工具框架,一个简单搭建模拟服务器的程序库/工具,下载就是一个JAR包,有如下特点
- 只需要简单的配置request、response等即可满足要求
- 支持http、https、socket协议,可以说是非常的灵活性
- 支持在request中设置Headers,Cookies,StatusCode等
- 对GET、POST、PUT、DELETE等请求方式都支持
- 无需环境配置,有Java环境即可
- 修改配置后,立刻生效。只需要维护接口,也就是契约即可
- 支持多种数据格式,如JSON、Text、XML、File等
- 可与其他工具集成,如Junit、Maven等,
Mock环境的搭建
Mock技术的使用
原文:https://www.cnblogs.com/jason2018524/p/13525886.html