如何通过Mock API提高APP开发效率?

时间:2023-03-08 18:44:30

如何通过Mock API提高APP开发效率?

APP开发过程中,如果可以在客户端的正常项目代码中,自然地(不影响最终apk)添加一种模拟服务器数据返回的功能,这样就可以很方便的在不依赖服务器的情况下展开客户端的开发。 Mock API提供了这一问题的解决方案,通过事先定义好的接数据生成规则,让APP功能能够快速测试,便于前后端开发同时进行。

一,什么是Mock

在软件测试领域,Mock的意思是模拟,简单来说,就是通过某种技术手段模拟测试对象的行为,返回预先设计的结果。

二,Mock有什么用?

首先,Mock可以用来解除测试对象对外部服务的依赖(比如数据库,第三方接口等),使得测试用例可以独立运行。 不管是传统的单体应用,还是现在流行的微服务,这点都特别重要,因为任何外部依赖的存在都会极大的限制测试用例的可迁移性和稳定性。通过Mock去除外部依赖之后,不管是测试用例的可迁移性还是稳定性,都能够上一个台阶。

三,如何创建Mock API服务?

针对不同的测试场景,可以选择不同的Mock框架和工具。

1.Mockito

国外知名的基于对象层的单元测试框架,通过MockIto,可以编写大量的项目测试配置来实现全面的项目测试服务。但是其功能过于庞杂,不一定适用于所有的项目。

2.WireMock

同样是国外接口测试领域的知名工具。和处在对象层的Mockito不同,WireMock针对的是API的Mock测试工具,如果说Mocketo是单元测试的瑞士军刀,可以Mock Everything,那么WireMock就是专为小型项目而生的,支持HTTP响应存根、请求验证、代理/拦截、记录和回放。但是仍然需要编写大量的Mock API规则,无法自动生成数据,在易用性上稍有不足。

3.eoLinker

eoLinker是目前国内最大开源免费的接口管理平台,不仅拥有非常全面的接口管理功能,并且可以通过UI界面来设定Mock的规则,支持Mock JS和原生js的函数方法,简化Mock API的编写操作。 值得注意的是,eoLinker是一个在线的SaaS服务,用户无需任何部署,只需要写明Mock的规则,就可以通过eoLinker提供的URL来访问Mock服务,从使用门槛上来说是最低的,推荐使用。

如何通过Mock API提高APP开发效率?

(eoLinker mock 规则以及测试页面)

其他类似的Mock API的框架还有OkHttp的mockwebserver,moco和mockserver。mockwebserver也属于嵌入式Mock框架的范畴,但功能过于简单。moco,mockserver虽然功能完善,但需要独立部署,和以上产品相比不具有明显优势。

总结:自上世纪末Kent Beck提出TDD(Test-Driven Development)开发理念以来,开发和测试的边界变的越来越模糊,从原本上下游的依赖关系,逐步演变成你中有我、我中有你的互赖关系,Mock API的出现让这种依赖关系在测试中暂时分开,让开发更高效。eoLinker提供了这样的功能,对接口测试感兴趣或者工作中可能会使用接口的,推荐花几分钟注册一波了解一下。

附上产品体验地址:https://www.eolinker.com

开源项目支持地址:https://www.eolinker.com/#/os/download

本文转载于Blog.eoLinker,已获作者允许转载。