当前位置: 首页 > Linux

#mockservice系列#如何使用mountebank做mockservice

时间:2023-04-06 02:28:49 Linux

Mountebank--Charlater,他有药,你要吗?一开始,看到这个词,我觉得很奇怪。字典上解释说是江湖骗子,卖假药的意思。感觉很奇怪。你为什么选择这个名字。官网上的图片如下,确实有一瓶药。什么是Mountebank?我的理解,就是给开发者提供虚假的API,来代替实际依赖的API,常用于测试场景。使用方法可以单独使用,按照官网教程即可,也可以结合docker使用。以后我会把单独使用的demo和结合docker使用的demo上传到github,供大家参考。欢迎发表评论。详细步骤请参考git中的commit信息。第一次getapi的效果如图。纯数据代码只有以下部分{"port":4545,"protocol":"http","stubs":[{"responses":[{"is":{"statusCode":200,"headers":{"Content-Type":"application/json"},"body":["澳大利亚","巴西","加拿大","智利","中国","厄瓜多尔","德国","印度","意大利","新加坡","南非","西班牙","土耳其","英国","美国中部","美国东部","美国西部"]}}],"谓词":[{"equals":{"path":"/country","method":"GET"}}]},{"responses":[{"is":{"statusCode":400,"body":{"code":"bad-request","message":"BadRequest"}}}]}]}但是只要shell没问题,脚本部分需要运行数据#!/bin/shset-eRUN_RESULT=$(dockerps|grephasanozgan/mountebank|wc-l)MOUNTEBANK_URI=http://localhost:2525BANK_IS_OPEN=1if["$RUN_RESULT"-eq0];然后dockerrun-p2525:2525-p4545:4545-dhasanozgan/mountebankficurl$MOUNTEBANK_URI/imposters||BANK_IS_OPEN=0if[$BANK_IS_OPEN-eq1];然后breakficurl-XDELETE$MOUNTEBANK_URI/imposters/4545curl-XPOST-H'Content-Typeson:application/j-d@stubs.json$MOUNTEBANK_URI/imposters为什么选择江湖骗子?原因之一是它以前从未使用过。刚刚听到国内一些关于测试的文章。看完之后,我并没有得到太多的分数。最好和它一起玩。让我们来看看;还有一个更重要的原因是刚好有现成的代码库,能有项目机会做事就很幸运了抛开这些个人兴趣和巧合,我推荐开发者选择mountebank的原因大概有以下几点:轻量级、无平台、多语言、多协议支持、免费、UI交互有趣。更多值得吹嘘的部分,请参阅为什么使用mountebank?入门简单mountebank易于安装,没有任何平台依赖性。mountebank的目标是提供包含大量示例的有趣且全面的文档,以及可让您以交互方式探索API的漂亮UI。一个平台,而不仅仅是一个toolmountebank旨在完全跨平台,具有本地语言绑定。当开箱即用的功能不够时,服务器可通过脚本进行扩展。强大的江湖骗子是唯一一款非模态多协议的开源服务虚拟化工具。商业解决方案是存在的,但它们的许可平台使得测试更接近开发变得困难,甚至可能需要专门的IDE。mountebank免费提供服务虚拟化,没有任何平台限制When&Disadvantages其实我也才用了一段时间,不知道最大的缺点是什么,大概什么时候用?当有API需要mockfakedependencies的时候,可以用,感觉和没说一样。只是目前国内用的人不多。先积累一些使用经验还是不错的,说不定还能激发出新的灵感。