携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第5天,点击查看活动详情
概念
什么是MOCK?相信大部分测试工程师都知道这个概念,也都在工作中有应用场景。
比如说在日常工作中需要和第三方组织对接,但是对方一直没有提供完整的API,而自己的功能已经到了提测阶段,这时候我们就可以使用MOCK返回API的报文来保证自己的测试内容不受影响。
又比如我经常遇到的就是我们的业务经常对接外部系统,而在测试环境中使用外部系统发起测试会变得相当难,甚至需要邮件才能进行联调,再加上第三方的服务在测试环境中经常出现各种宕机,因此急需一个MOCK服务器来实现各路场景。
实现方式
1、MOCK的实现方式有多种多样,比如使用抓包工具,通过拦截自己需要测试接口的返回,然后通过修改返回报文来实现自己的mock效果,这也是比较基础的mock返回方式,像fiddler或者charles都提供了这样的功能,在网上都能找到对应的操作文档。
2、搭建自己的mock服务器,现在市面上大部分请求其实还是以HTTP为主,如果是HTTP请求的接口我们就能够伪造请求的PATH然后写一个对应的接口,而返回的内容就可以自定,这样的MOCK也是比较灵活,像python的flask就提供了简单编写一个服务接口,以及如果使用java便可以快捷的搭建一个springboot服务,然后只要将需要测试的服务请求第三方的链接修改成自己的mock服务器的地址便能够完成MOCK。
总结
MOCK服务在日常工作中无论是开发或者测试都是有机会使用,实现的方式也是比较多,相信除了我说的两种方式还有很多种方式可以实现我们最终的目的。