moco可以用来模拟http、https、socket请求,这里介绍下最常用的http请求。
大家也可以查看moco关于http请求的官方文档

一、json文件基本格式

moco使用json文件配置请求的基本格式为

[{请求1},{请求2},等等
]

每个请求需要包含request和response,description可选。

二、常用关键字

2.1 Description描述

在所有JSON API中,您可以使用description来描述此会话的内容。它只是用作注释,在运行时将被忽略。

[{"description": "这里用来描述会话的内容,只是注释,运行时忽略","response": {"text": "foo"}}
]

2.2 Request请求部分

moco提供了很多关键字,用于配置request部分的内容。

关键字 描述 格式
text 配置请求内容 字符串
file 若响应内容太多,可以方法文件中,配置存放请求内容的文件名 字符串
uri 请求路径 字符串
queries 用于get请求传递参数 json串
method 请求方式,包括get/post/put/delete等 字符串
version http请求版本号,比如HTTP/1.0 字符串
headers 请求头 json串
cookies cookie信息 json串
forms 用于post请求传递参数 json串
match 用于配置符合正则表达式的请求 字符串
json get请求参数为json串
startsWith 以…开头 字符串
endsWith 以…结尾 字符串
contain 包含…内容 字符串
exist 用于判断…请求信息是否存在 字符串

2.3 Response响应部分

关键字 描述 格式
text 配置响应内容 字符串
file 若响应内容太多,可以方法文件中,配置存放响应内容的文件名 字符串
charset 设置文件编码 字符串
status 状态码 int
version http响应版本号,默认情况下,http响应版本号应该是http请求版本号,但是你也可以自行设置响应版本号 字符串
headers 响应头 json串
proxy 我们也可以使用指定的URL进行响应,就像代理一样。
failover 除了基本功能外,代理还支持故障转移,这意味着如果远程服务器暂时不可用,服务器将从本地配置恢复。
playback 回放
redirectTo 重定向
cookies cookie信息 json串
json responese为json串

三、举例

例1:get请求带参数

[{"description": "模拟一个没有参数的get请求","request": {"uri": "/getdemo","method": "get"},"response": {"headers": {"Content-Type": "text/html;charset=gbk"},"text": "这是一个没有参数的get请求"}}, {"description": "模拟一个带参数的get请求","request": {"uri": "/getwithparam","method": "get","queries": {"name": "zhangsan","age": "18"}},"response": {"headers": {"Content-Type": "text/html;charset=gbk"},"text": "我叫张三"}}]

例2:post请求带参数

[{"description": "这是一个没有参数的post请求","request": {"uri": "/postdemo","method": "post"},"response": {"headers": {"Content-Type": "text/html;charset=gbk"},"text": "这是mock的post请求"}},{"description": "这是一个带参数的post请求","request": {"uri": "/postwithparam","method": "post","forms": {"name": "zhangsan","age": "18"}},"response": {"headers": {"Content-Type": "text/html;charset=gbk"},"text": "我是张三!"}}]

不带参数的post请求结果


带参数的post请求结果

例3:请求/响应带cookies信息

[    {"description": "这是一个带cookies信息的get请求","request": {"uri": "/get/withCookies","method": "get","cookies": {"login": "true"}},"response": {"headers": {"Content-Type": "text/html;charset=gbk"},"text": "这是一个需要携带cookies信息才能访问的get请求"}}, {"description": "这是一个带cookies信息的post请求","request": {"uri": "/post/withCookies","method": "post","cookies": {"login": "true"},"json": {"name": "zhangsan","age": "18"}},"response": {"headers": {"Content-Type": "text/html;charset=gbk"},"status": 200,"json": {"zhangsan": "success","status": "1"}}},{"description": "这是一个会返回cookies信息的get请求","request": {"uri": "/getCookies","method": "get"},"response": {"headers": {"Content-Type": "text/html;charset=gbk"},"cookies": {"login": "true"},"text": "恭喜你获得cookies信息"}}
]

带cookies信息的get请求,执行结果


带cookies信息的post请求,执行结果

返回cookies信息的get请求,执行结果


例4:请求/响应带headers信息

[{"description": "这是一个带header信息的post请求","request": {"uri": "/post/withHeaders","method": "post","headers": {"content-type": "application/json"},"json": {"name": "zhangsan","sex": "male"}},"response": {"json": {"success": "true","status": "1"}}}
]

执行结果如下:


例5:重定向

[{"description": "重定向到百度","request": {"uri": "/redirect"},"redirectTo": "http://www.baidu.com"},{"description": "重定向到一个自己的url上","request": {"uri": "/redirect/topath"},"redirectTo": "/redirect/new"}, {"description": "这是一个被重定向到的请求","request": {"uri": "/redirect/new"},"response": {"headers": {"Content-Type": "text/html;charset=gbk"},"text": "重定向到new请求啦"}}
]

输入localhost:8888/redirect,重定向到了百度,结果如下

输入http://localhost:8888/redirect/topath,重定向到自己写的url,结果如下

使用moco mock http请求相关推荐

  1. Jest中Mock网络请求

    Jest中Mock网络请求 最近需要将一个比较老的库修改为TS并进行单元测试,修改为TS还能会一点,单元测试纯粹是现学现卖了,初学Jest框架,觉得在单元测试中比较麻烦的就是测试网络请求,所以记录一下 ...

  2. 实现moco模拟https请求

    moco 环境搭建完毕,只能使用http请求,无法使用https的请求.下面讲解https证书的生成和使用,让moco能够支持https请求的mock 1.https服务启动命令: java -jar ...

  3. 详解构建mock服务最方便的神器——Moco

    moco介绍 moco框架是github上的一个开源项目,可模拟http,https,Socket协议的mock操作.如果大家不了解什么是mock请参考文章: 从0到1学会使用SpringBoot 搭 ...

  4. mock模拟数据,get、post请求

    一.为什么使用mockjs 在做开发时,当后端的接口还未完成,前端为了不影响工作效率,手动模拟后端接口 1.我们可以使用json文件来模拟后台数据,但比较局限,无法模拟数据的增删改查 2.使用json ...

  5. 干货!用大白话告诉你什么是Mock测试

    初识mock 作为一个动词,mock是模拟.模仿的意思:作为一个名词,mock是能够模仿真实对象行为的模拟对象. 在软件测试中,mock所模拟的对象是什么呢? 它一定不是我们所测试的对象,而是 SUT ...

  6. 如何用Postman mock服务?

    VOL 315 03 2021-11 今天距2022年58天 这是ITester软件测试小栈第315次推文 点击上方蓝字"ITester软件测试小栈"关注我,每周一.三.五早上 0 ...

  7. vue前端用服务器上路径的图片展示_5分钟教你用nodeJS手写一个mock数据服务器

    对于前端开发者而言,javascript正扮演着越来越重要的地位,它不仅能为浏览器端赋能,在web服务器方面也有很大的价值(我们可以用nodeJS来写服务端代码,启动web服务器),因此本文所要描述的 ...

  8. mock 测试 MVC

    SpringMVC测试框架 基于RESTful风格的SpringMVC的测试,我们可以测试完整的Spring MVC流程,即从URL请求到控制器处理,再到视图渲染都可以测试. 一 MockMvcBui ...

  9. 如何开发rest接口服务_如何简化网络请求接口开发

    日常开发中,需要大量和后端对接接口,很容易写出大量的模板代码,比如把对接口的请求放到组件内,或者虽然有数据访问层,但是有大量 get,post 方法的调用,传参的字符串拼接,异常处理等等,有些逻辑是可 ...

最新文章

  1. CENTOS6.4 IBUS输入法不显示候选词解决办法
  2. 高级打字机【主席树】【滚动数组】【块状链表】
  3. 用平方映射理解tanh
  4. [思考]-ARM LR寄存器的思考
  5. java亮剑_黄金矿工3-太空版
  6. 替换Quartus 自带编辑器 (转COM张)
  7. Scrum实践:每日站会
  8. 新手如何发布第一个Python项目开源包?这里有一份详细指南
  9. 2019/04/05 腾讯笔试 后台及综合卷(java)
  10. 被马斯克热炒的人形机器人Optimus“擎天柱“,中国厂商或后来居上
  11. SQL学习(四)Where语句中的各种匹配方式
  12. 【react踩坑】前端显示文件流图片
  13. dva的state引用及connect连接
  14. 解决k8s中的长连接负载均衡问题
  15. 2021前端面试题汇总——查漏补缺
  16. C语言实现顺序栈的基本操作(初始化、判断空、入栈、出栈、获取栈顶元素)
  17. 堆排序 ← 改编自《啊哈!算法》
  18. 微型计算机的外辅储存器,微型计算机的外辅储存器是指
  19. 使用java容器(集合类)模拟商城
  20. 贝茨视觉训练法 [20160316]

热门文章

  1. 现场翻大车!周鸿祎演示360版ChatGPT全程高能!
  2. 双色球(投注号码由6个红色球号码和1个蓝色球号码组成。红色球号码从1—33中选择;蓝色球号码从1—16中选择。)
  3. 心碎了没有人说自己是无所谓的
  4. 介绍汉明距离及计算示例
  5. 广州java培训费用
  6. AI绘画关键词网站推荐 :轻松获取百万个提示词!完全免费
  7. html表单模板属性,HTML5超酷响应式表单美化模板插件
  8. 大学生如何建立校园外卖平台?这五个重点必须要知道!
  9. 敏捷开发-互联网大厂们都在用的软件开发模式
  10. SQLAlchemy基础教程