摘要:沙箱,第一反应,但并不是。为避免误解,下文中所有提到都是指这个工具,不是沙箱。做什么的,根据其官网上的描述可以理解为快速生成,即时部署,协作构建并集成了调试工具。对个人而言,强烈推荐给入门的人。
Sandbox--沙箱,第一反应,但sorry并不是。
sandbox 这个词大家并不陌生,但貌似国内的技术share中很少看到有提到这个工具的。
为避免误解,下文中所有提到sandbox都是指sandbox这个工具,不是沙箱。
另外在两周的使用过程中,感觉比我之前尝试过的mock service的方法都要舒服,并且对程序员更友好。所以愿意安利一波。
希望有遇到同样痛点的朋友,可以给feedback有不同观点也欢迎交流指正。
Sandbox做什么的,根据其官网上的描述
Quick and easy mock RESTful API and SOAP webservices. Generate from API definitions, instant deploy, collaborative build, and debugging tools for integration.
可以理解为快速生成API,即时部署,协作构建并集成了调试工具。
更简单的说,你可以用它做假的API,并且马上就可以用。
你可能需要懂点js;
理解下Sandbox 里面的state;
基本上写代码的部分超级简单,demo自取,getting-start也很简单。
我只是share下有这么个工具,以及简单的用法,其实一步一步的步骤不用讲太多,很简单动手即可。
聊为什么要用sandbox前,说说我之前用过什么其他的方式做mock service吧。
写js的时候,用express写过假的后端service,处理简单数据还行,后面发现数据验证,数据状态不抽离,越到后面越难mock,写ruby的时候,用sinatra直接写了fake server;
遇到过数据量好大,已有的数据在假server重启后就木有了,中间也用过mongodb,但是那个只是解决数据源,并且无形中也是增加了mock的effort;
也有同事推荐swagger,但没用上手,因为也没发现多方便 ,反倒发现swagger-ui很友好;
国内看到有人做了个叫做easy mock的, 感觉对不懂代码的貌似蛮友好各种点点点,但是我还是喜欢直接敲代码那种;
中间有阵子用了docker+mountebank,对于纯粹只是get的,能把业务逻辑和数据分离,还算蛮好用,也是只用处理代码就好,但对于刚入门,可能不推荐。
github上也有一些利用json文件做fake server的 如json-server
聊了这么多,大概可以回答我为什么会推荐使用sandbox了
关注code,不偏爱UI操作;
简单,懂js就好,不需要额外effort(mongodb,docker)
state能够保存数据,即使进行到后面,也比较好继续添加新的相关联的api
When对项目而言,还是觉得最开始就可以;
如果是中期replace为sandbox,如果原来是用类似express的方法,还蛮简单的,如果是其他语言或技术栈的建议先做MVP的spike。
对个人而言,强烈推荐给入门的人。
缺点安利了那么多,基于客观事实,还是要说些我遇到的不好的方面,
数据丢失,隔了2天,有一次我的get API没法拿到数据,所以最好要初始化数据的设计,方便恢复;
服务器不稳定,官网直接挂掉,我经历过一次;
个人concern ,如果mock service中涉及敏感数据以及安全信息,建议先做一些处理,毕竟放在网上的没有你的本机安全
free plan有request次数限制,今天就遇到了
排除以上几点,在开发code方面,个人觉得对程序员还是蛮友好的。
因为mock service本身其实对数据的稳定性要求也没那么高所以还可以接受(我遇到的case)
除了直接在web上的页面上直接写代码,也可以把代码sync到github的codebase里面,这样你只要有本地编辑器+网络+git就好了;
中间开发基于ios的应用的时候,只能支持https协议,如果是本地mock的service 需要去改配置,这个支持https协议,0改动;
会给一个域名下的资源链接,所有人可以访问,相当于你的资源以及API就是放在互联网上面的
P.S.其他mock service 推荐Mocky 实时当下马上可测,但是状态应该不可保存。slogan是Mock your HTTP responses to test your REST API
mockable.io slogan是The Fastest way to mock your API
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/83723.html
摘要:的作用主要就是构建一些的数据对象,大部分使用场景也是在测试中。具体使用时候,一般会有一个用来构建,另外一个在需要数据的地方进行直接引入。当你厌倦已有的无论是字面量生成,还是单独数据生成的方式。感觉用更符合语义以及函数思维。 Rosie? factory_girl? 如果说是单纯命名上面,是受一幅画的影响,画里面的妹子叫Rosie;如果是项目灵感其实是来自于factory_girl,fa...
摘要:适用于主要入口页面生成多页,子页面和次要页面使用单页形式的项目。文件用来存放固定的数据,而文件可更加自由的处理并返回数据。 VUE2的单页应用框架有人分享了,多页应用框架也有人分享了,这里分享一个单页+多页的混合应用框架吧,node.js写了一个简单的mock服务也集成在里面,整体初现雏形,还有很多需要优化和改善的地方。。。 项目结构 │ ├─build ...
摘要:在工作中,我们的前端工作流一般开始于前后端协商好文档之后,再针对这个文档做模拟数据,然后用做好的进行开发,后端开发完毕之后再改一下数据的切换到正式进行联调如下本文介绍的一个工具或者说方法,来将这个工作流优化一下,也是我平时工作正在用的方法, 在工作中,我们的前端工作流一般开始于前后端协商好Api文档之后,再针对这个Api文档做mock模拟数据,然后用做好的mock进行开发,后端开发完毕...
摘要:概述在使用单元测试时经常会遇到某些依赖了外部资源,或者想主动绕过真正的方法执行返回结果而快速得到单元测试最终的期望结果,可能有以下两种场景,对于,设单元测试的方法是的方法和方法,在执行和方法时都会调用的不同方法,即依赖了一个场景是完全对进行 概述 在使用单元测试时经常会遇到某些dependency依赖了外部资源,或者想主动绕过真正的方法执行mock返回结果而快速得到单元测试最终的期望结...
阅读 1001·2023-04-26 02:21
阅读 2820·2021-09-24 09:47
阅读 1610·2019-08-30 15:55
阅读 2168·2019-08-30 14:01
阅读 2323·2019-08-29 14:01
阅读 2051·2019-08-29 12:46
阅读 817·2019-08-26 13:27
阅读 1936·2019-08-26 12:23