MOCK的意义

1.接口测试等待开发完成接口开发之后再进行,不符合测试的尽早测试的基本原则,我们可以利用MOCK工具来模拟接口,减少对开发的依赖,从而可使测试与开发同步进行

2.接口存在很多依赖关系,现实中,由于一些客观的原因,我们在测试环境所要的测试条件可能无法满足,此时就需要我们用MOCK工具来进行模拟,如网上商城有个支付业务,与工商银行做对接,工商银行只提供正式环境的对接,没有测试环境支持,那我们在测试环境测试就需要利用MOCK工具进行模拟,完成支付业务流

mock工具-moco

1.安装配置jdk1.8

3.新建配置config.json,在jar包所在目录输入cmd,cmd 输入:java -jar moco-runner-0.10.0-standalone.jar http -p 9999 -c config.json,启动moco mock

jar下输入cmd,如下图:

成功启动mock,如下图

config.json 内容:

[

{

"request" :

{

"method": "get",

"uri" : "/1"

},

"response" :

{

"text" : "mock mo ren"

}

}

]

4.浏览器输入http://127.0.0.1:9999/1,打印“mock mo ren”,说明:9999为运行配置的端口,/1为配置文件请求的url,“mock mo ren”为访问url的响应的内容

5.一般mock启动不要用https,https需要证书的,配置起来麻烦

模拟-get

(confing.json配置文件,duocs.json有两条记录,dancs.json有一条记录),执行http://127.0.0.1:9999/cs/duo 显示duocs.json两条记录;

执行http://127.0.0.1:9999/cs/dan 显示 dancs.json一条记录

执行http://127.0.0.1:9999/temp?zw=9 返回:“返回参数中文9”,其中zw=9 ,zw为动态参数,注意返回的值是text类型,目前moco的josn格式不支持中文,text格式可以返回中文,但是意义不大。

如config.json 内容:"text" : {

"template": "返回参数中文${req.queries['zw']}"

}

config.json 内容:

[

{

"request" :

{

"method": "get",

"uri" : "/cs/duo"

},

"response" :

{

"file" : "duocs.json"

}

},

{

"request" :

{

"method": "get",

"uri" : "/cs/dan"

},

"response" :

{

"file" : "dancs.json"

}

},

{

"request" :

{

"method": "get",

"uri" : "/temp"

},

"response" :

{

"text" : {

"template": "返回参数中文${req.queries['zw']}"

}

}

}

]

dancs.json 内容:

{

"name": "yiqiao",

"age": "30"

}

duocs.json 内容:

[

{

"name": "zhangshan",

"age": "28"

},

{

"name": "lishi",

"age": "38"

}

]

模拟-post

config.json 内容:

[

{

"request" :

{

"method": "post",

"uri" : "/posts",

"file": {

"json": "requestcs.json"

}

},

"response" :

{

"json": {"success": "true"}

}

},

{

"request" :

{

"method": "put",

"uri" : "/puts",

"file": {

"json": "requestcs.json"

}

},

"response" :

{

"json": {"success": "puttrue"}

}

},

{

"request" :

{

"method": "delete",

"uri" : "/deletes"

},

"response" :

{

"json": {"success": "deletetrue"}

}

}

]

requestcs.json 入参文件内容:

{

"usename": "test",

"password" : "test"

}

1.访问post:结合配置文件config.json 内容:url:/posts;入参格式为:"json": "requestcs.json",返回json格式值 "success": "true",如下图postman操作:选择body-raw,选择josn(application/josn),输入URL:http://127.0.0.1:9999/posts,返回 "success": "true"

2.访问put

3.访问delete

python mock server_五、python MOCK SERVER相关推荐

  1. Python学习篇(五) Python中的循环

    文章目录 前言 一.range函数 二.while循环 2.1四步循环法 三.for in 循环 四.流程控制语句 4.1 break 4.2 continue 五.else语句 六.嵌套循环 七.二 ...

  2. Python实验报告五 python基础试题练习

    文件 一.实验目的与要求 1.掌握文件的打开和关闭的方法. 2.掌握文本文件和二进制文件文件的不同操作,如读写.重命名.删除. 3.掌握os与os.path模块文件和文件夹的操作 二.题目 1 编写程 ...

  3. python websocket server_用Python实现一个简单的WebSocket服务器

    2. 数据长度在 128-65525 之间时 , Payload Length 位设为 126 , 后面 额外使用 16bit 表 示长度 ( 前面的 126 不再是长度的一部分 ) 3. 数据长度在 ...

  4. python单元测试mock_Python单元测试的Mock是怎么回事

    单元测试 什么是单元测试, 维基百科上是这么定义的: unit testing is a method by which individual units of source code, sets o ...

  5. python mock patch_偷梁换柱:使用mock.patch辅助python单元测试

    最近在搞软工项目的后端测试,重新复习了一下python的mock.patch,并用它简化了对一些复杂逻辑的测试,在此记录 问题描述 本组的项目比较特殊,设计对教务网站的模拟登陆与信息爬取,同时不少接口 ...

  6. python建立一个简单的server_使用Python创建一个简易的Web Server

    Python 2.x中自带了SimpleHTTPServer模块,到Python3.x中,该模块被合并到了http.server模块中.使用该模块,可以快速创建一个简易的Web服务器. 我们在C:\U ...

  7. Python实现86五笔反查代码

    Python实现86五笔反查代码 运行截图 完整代码下载地址:Python实现86五笔反查代码 核心代码 """ 这个脚本使用 Python 自带的 HTTP 服务功能 ...

  8. 类的继承python事例_【Python五篇慢慢弹(5)】类的继承案例解析,python相关知识延伸...

    作者:白宁超 2016年10月10日22:36:57 摘要:继一文之后,笔者又将python官方文档认真学习下.官方给出的pythondoc入门资料包含了基本要点.本文是对文档常用核心要点进行梳理,简 ...

  9. 零基础该如何系统地自学Python编程?五个阶段带你从小白到大佬

    对于零基础学习或是已经学完基础不知道下一步该干什么的朋友,可以看看这篇缓解迷茫.今天分享下如何系统地自学Python规划目标,有一个学习目标在去行动. 有了目标,怎么行动呢?建议采用视频+书籍的方式进 ...

  10. python各个解释器的用途-常用的五种Python解释器|老男孩网络Python学习课程

    Python是一门解释器语言,代码想运行,必须通过解释器执行,Python存在多种解释器,分别基于不同语言开发,每个解释器有不同的特点,但都能正常运行Python代码,以下是常用的五种Python解释 ...

最新文章

  1. 让AI个性化而且功耗更低 IBM研发新型神经网络芯片
  2. js div asp.net 实现漂浮图片,可以代码控制。
  3. C++模板基本概念及语法
  4. Django 3.2.5博客开发教程:体验数据查询
  5. 关于jTopo的引用
  6. Linux 创建用户并限制其访问目录,设置密码为永不过期
  7. PolarDB-X 一致性共识协议 (X-Paxos)
  8. startallback怎么用_startallback使用教程
  9. epoch训练时间不同_给训练踩踩油门——Pytorch加速数据读取
  10. 最新消息,CDRX7冰点价再返现,你知道么?
  11. android 平板键盘布局,android 4.1 平板连接USB键盘,默认键盘布局
  12. 学习SQLServer: 设置QUOTED_IDENTIFIER
  13. 【正点原子FPGA连载】 第二十章 LCD触摸屏实验摘自【正点原子】DFZU2EG/4EV MPSoC 之FPGA开发指南V1.0
  14. 2015.07.06 大三即将结束,进行一下本学期总结。
  15. 技术人文丨他们“说”的每一句话,都有ASR、NLP、TTS技术
  16. 平方根和立方根怎么用计算机,用计算器探究平方根和立方根
  17. ibus添加搜狗词库
  18. python实现生成word文档并转为pdf
  19. i.MX6ULL - 远程视频监控方案实现(nginx-rtmp流媒体服务器、ffmpeg推流)
  20. css用什么空格,CSS中用什么进行空格的处理(实例)

热门文章

  1. 安装WIN 7 64位Windows6.1-KB2999226-x64.msu
  2. 有什么推荐的软件工程本科的毕业设计题目嘛?
  3. xshell官网链接打不开了
  4. 小米笔记本桌面计算机图标,小米笔记本桌面锁定怎么解除
  5. 关于计算机网络通信协议
  6. php中如何计算字符串长度,PHP字符串长度计算 - strlen()函数使用介绍
  7. IE下判断IE版本的语句...[if lte IE 8]……[endif]
  8. 基于php的宠物领养系统
  9. 大学高数常微分方程思维导图_思维导图_2016考研数学:高数中六种常见题型归纳_沪江英语...
  10. IDEA格式化HTML页面