最近研究一下httpmock,用到了moco框架,很简单粗暴,记录一下。

github:GitHub - dreamhead/moco: Easy Setup Stub Server  有详细的文档可以参考

moco的优点:

1.只需要简单的配置request、response等即可满足要求,支持http、https、socket。可以说是非常的灵活性。
2.支持在request 中设置 Headers , Cookies , StatusCode等。
3.对GET、POST、PUT、DELETE等请求方式均支持,很适合web开发。
4.无需环境配置,有java环境即可。
5.修改配置后,立刻生效。只需要维护接口,也就是契约即可。
6.对可能用到的数据格式都支持,如json、text、xml、file等。
7.还能与其他工具集成,如Junit、Maven、Gradle等。

moco的缺点:

  1. 没有转发功能,如果遇到没有匹配的请求进来接口会400,所以它对单接口测试十分方便;或者可以在压测中mock外部依赖。

开始搞起

  1. 下载jar包:Standalone Moco Runner
  2. 写一个启动的脚本,方便使用 start-moco.sh:

启动一个http服务,方便后端接口调用

nohup java -jar moco-runner-0.11.0-standalone.jar http -p 12306 -c match_uri.json >>$PWD/moco.log 2>&1 &
#!/bin/bash
source /etc/profile
PID=$(ps -ef |grep -w 'moco-runner'|grep -v 'grep' |awk {'print $2'})USAGE()
{echo "usage: $0 start|stop|status"
}if [ $# -lt 1 ]; thenUSAGEexit -1
fiSTART(){
if [ "$PID" == "" ];
then
echo "starting moco-runner ..."
nohup java -jar moco-runner-0.11.0-standalone.jar http -p 12306 -c match_uri.json >>$PWD/moco.log 2>&1 &
elseecho "moco-runner is running,please stop it first!!!"
fi
}STATUS(){
if [ "$PID" == "" ];
thenecho "moco-runner is stopped!!!"
elseecho "moco-runner is running!!!"
fi
}STOP(){
if [ "$PID" == "" ];
thenecho "moco-runner is stopped!!!"
elseecho "stopping moco-runner ..."kill -9 $PID
fi
}if [ $1 == "start" ];
thenSTART
elif [ $1 == "stop" ];
thenSTOP
elseSTATUS
fi

3.  配置mock入口,json格式的文件 match_uri.json :

[{"request" :{"uri" : "/index/hello"},"response" :{"file" : "mocks/hello.txt"}
}
]

4.配置mock的文件:hello.txt

{"status":1,"error":"200","msg":"服务调用成功","data":"您好"}

5.最后一步:启动mock

sh start-moco.sh start

验证一下:

简单的httpmock-MOCO相关推荐

  1. 走进Java接口测试之简单快速的Mock Server Moco

    文章目录 一.引言 二.简介 三.原理 四.使用 1.约定请求 URI 2.约定请求 Queries 3.约定请求 Get 方法 4.约定请求 Post 方法 5.约定请求 Headers 6.约定请 ...

  2. [论文阅读](对比学习系列)

    文章目录 第一阶段:百花齐放 [2018] (CVPR) INstDisc [2019] (CVPR)Unsupervised Embedding Learning via Invariant and ...

  3. java moco_moco入门

    简单来说,Moco就是解决了开发前端时没有后端支持,开发接口时依赖没有到位的尴尬场景.当然Moco的灵活性,让其有越来越多的应用场景. moco的优点: 1.只需要简单的配置request.respo ...

  4. 自监督学习-MoCo-论文笔记

    论文:Momentum Contrast for Unsupervised Visual Representation Learning CVPR 2020 最佳论文提名 用动量对比学习的方法做无监督 ...

  5. moco框架的简单搭建

    一.moco搭建的注意事项 了解moco相关的请求(https://blog.csdn.net/gx0904/article/details/88218283 ) moco的jar包版本:moco-r ...

  6. 华人博士提出原型对比学习,非监督学习效果远超MoCo和SimCLR

    点上方蓝字视学算法获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 仅作分享,不代表本公众号立场,侵权联系删除 转载于:新智元 继MoCo和SimCLR之后非监督学习的又一里程碑!Sales ...

  7. 再发力!Facebook AI何恺明等最新研究MoCo(动量对比学习)第二版,超越Hinton的SimCLR,刷新SOTA准确率...

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! [导读]无监督学习再发力!Facebook AI 研究团队的陈鑫磊.樊昊棋.Ros ...

  8. 对比学习系列论文MoCo v1(二):Momentum Contrast for Unsupervised Visual Representation Learning

    0.Abstract 0.1逐句翻译 We present Momentum Contrast (MoCo) for unsupervised visual representation learni ...

  9. 【CV】深度了解自监督学习,就看这篇解读 !SimMIM:掩码图像建模的简单框架...

    作者丨科技猛兽 编辑丨极市平台 导读 SimMIM 是继 BEiT 之后,MSRA 又提出的一个 MIM 任务上的预训练 CV 模型.这个模型也是直接回归预测原始像素 RGB 值,而不是像 BEiT ...

最新文章

  1. 3Sum探讨(Java)
  2. 1.1.2-学习Opencv与MFC混合编程之---画图工具 画直线 画圆 画矩形
  3. Java Interview Questions
  4. 远程接入--为什么选择异速联
  5. 获取select选中的值php,js如何获取select标签选中的值
  6. linux iio子系统
  7. Java实现数字和人民币大写转换
  8. 2021年隐私和安全性最佳的8款Linux手机
  9. snappy流式编解码总结
  10. 带你学习Hive的多维立方体
  11. 致敬每一位劳动者,感恩每一次付出!清微智能祝您劳动节快乐~
  12. swr,解决 React 项目 API 调用的最好方案
  13. java调用命令行校对系统时间
  14. Spring-Messaging远程代码执行漏洞复现(CVE-2018-1270)
  15. Props中的default
  16. oppo手机在哪看电池寿命
  17. 猫眼上市后的第一份财报:不安与野心同在
  18. 艾伟:[你必须知道的.NET] 开篇有益
  19. Zookeeper 面试题及答案
  20. Code-Breaking Puzzles做题记录

热门文章

  1. 程序猿 C#常规面试题
  2. 802.11基础——术语及缩略语
  3. TR069协议与商业应用1——概述(带目录索引)
  4. MobTech ShareSDK iOS端快速集成
  5. Unity- EasyTouch(一)
  6. 如何成为一个篮球高手
  7. JZVideo--全屏切小屏报错没有获得的窗口错误
  8. android付款功能,Qpay,利用 Android 新特性,把所有付款方式放在一起 | App+1
  9. PHP带头大哥学习的三部曲!
  10. PyTorch - autograd - One of the differentiated Tensors appears to not have been used in the graph