mock的使用
mock的重要性
mock就是对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建的方法。项目开发和测试过程中,遇到以下的情况时,就需要模拟结果返回。
1.当另一方接口或服务还未完成,阻碍项目进度时,可以通过mock的方式,实现并行开发。
2.另一方接口不稳定,而这边需要一个稳定的结果才能继续往下走流程时,也可以使用mock。有时候自动化测试需要一个持续稳定的环境,也可以对不是很重要的服务进行mock处理。
3.需要模拟异常情况,但是这种异常不容易触发时,可以使用mock实现。
使用moco
moco是非常容易搭建模拟服务器的工具。运行moco需要java环境和moco的jar包。
1.下载moco-runner-0.9.1-standalone.jar
2.编写响应的json文件
3.在命令行执行 java -jar <path-to-moco-runner> start -p <monitor-port> -c < configuration -file>
其中,<path-to-moco-runner>是moco-runner-0.9.1-standalone.jar文件的路径
<monitor-port>是端口号
<configuration -file>是配置文件的路径
例如,启动了端口号为12306的moco服务,配置文件内容为
这时候请求http://localhost:12306/时,就会返回
其中,text表示返回的内容为 Hello, this is Moco
也可以自定义请求的HTTP版本、请求头、cookie、请求方法、地址、请求参数、内容等,也可以自定义响应的状态码、响应内容等。使用该mock接口时只需将调用的接口地址改成这个地址即可。
使用easy-mock
easy-mock是开源的项目,有可视化的界面,同时可以较好地对mock数据进行管理。地址:https://www.easy-mock.com/ 注册账号后即可使用。
1.创建项目
2.创建接口
3.编辑响应内容、请求方法和请求地址
4.调用该接口,响应结果即为设置的403,系统异常
还有其他可以实现mock的工具,如fiddler。
作者:circle_hyy
链接:https://www.jianshu.com/p/de8a3dc04f82
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
mock的使用的更多相关文章
- Pramp mock interview (4th practice): Matrix Spiral Print
March 16, 2016 Problem statement:Given a 2D array (matrix) named M, print all items of M in a spiral ...
- Google C++单元测试框架GoogleTest---Google Mock简介--概念及基础语法
就在昨天终于做了gtest的分享,我的预研工作终于结束了,感觉离我辞职的日子不远了,毕竟是专注java二百年啊,要告别实习啦.. 这篇是GoogleMock的简介文档,会在后边附带一个自己的例子. 一 ...
- Pramp - mock interview experience
Pramp - mock interview experience February 23, 2016 Read the article today from hackerRank blog on ...
- Spring Mock
今天看别人的测试代码,发现有 MockMvc.MockHttpServletRequest.MockHttpServletResponse ,不知道是干啥的,百度下下才知道 Mock这个东东. 下 ...
- Python mock
在测试过程中,为了更好地展开单元测试,mock一些数据跟对象在所难免,下面讲一下python的mock的简单用法. 关于python mock,网上有很多资料,这里不会讲的特别深,但一定会是实用为主, ...
- ABP中单元测试的技巧:Mock和数据驱动
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:虽然ABP为大家提供了测试的脚手架了,不过有些小技巧还是需要自己探索的. ASP.NE ...
- [转] 前后端分离开发模式的 mock 平台预研
引入 mock(模拟): 是在项目测试中,对项目外部或不容易获取的对象/接口,用一个虚拟的对象/接口来模拟,以便测试. 背景 前后端分离 前后端仅仅通过异步接口(AJAX/JSONP)来编程 前后端都 ...
- What's the difference between a stub and mock?
I believe the biggest distinction is that a stub you have already written with predetermined behavio ...
- Nova PhoneGap框架 第六章 使用Mock
在我们的框架中引入了一个很重要的设计,那就是使用Mock. 这里的mock是指cordova.mock.js文件,它模拟了PhoneGap(Cordova)的API,从而可以在浏览器中运行测试我们的程 ...
- mock.js
mock.js http://mockjs.com/ https://github.com/nuysoft/Mock/wiki 为了完成angularjs的karma测试,看到这个好东东,这货能拦截a ...
随机推荐
- Supervisor进程管理配置使用
Supervisor进程管理 在后台应用中,有时候程序进程会异常中止退出,如果没有一个守护进程去守护这个应用进程我们就需要及时发现并重启进程.如果每一个应用进程都写一个自己的守护进程难免会比较麻烦,而 ...
- 第四章、前端之BOM和DOM
目录 第四章.前端之BOM和DOM 一.解释BOM和DOM 二.window对象 三.window子对象 四.弹出框 五.计时相关 六.HTML的DOM树 七.查找元素 八.节点操作 九.JS操作CS ...
- nodejs建站+github page 建站问题总结
本文介绍 昨天吃晚饭的时候,在B站偶然看到一个关于搭建自己博客的视频,过程讲的很详细,于是就有了自己想尝试一下的冲动,所以,在晚上的时候,尝试了下,但是,过程并没有视频中说的那么顺利,看了网上很多帖子 ...
- new Function()语法
函数的语法: let func = new Function(...args, body); 历史原因,参数也可以以逗号分隔的列表的形式给出,这三个意思相同: new Function('a', 'b ...
- Caused by: com.mchange.v2.resourcepool.TimeoutException: A client timed out while waiting to acquire a resource from com.mchange.v2.resourcepool.BasicResourcePool@1483de4 -- timeout at awaitAvailable(
Caused by: com.mchange.v2.resourcepool.TimeoutException: A client timed out while waiting to acquire ...
- [USACO19JAN]Train Tracking 2——神仙结论题+DP
原题链接 orz xzz巨佬 首先发现一个结论:两个相邻的\(c\)值如果不相同的话,就可以固定某个位置的值了 这启示我们把连续且相等的\(c\)给单独拿出来看,也就是对于一些\(c_i=c_{i+1 ...
- MFC 用户登录、注册、工作主窗体
创建项目由向导生成的窗体作为工作的主窗体.用户登录.注册窗体添加对话框来实现. [具体功能] 1.主窗体应该出现在登录窗体成功之后. 2.登录窗体关闭(右上角❌),程序直接退出. 在App.cpp的I ...
- nginx常用命令和配置
1.常用命令 查看版本号: ./nginx -v 启动nginx:在/usr/local/nginx/sbin 目录下执行 ./nginx 关闭nginx:在/usr/local/nginx ...
- nextUntil([exp|ele][,fil]) 查找当前元素之后所有的同辈元素,直到遇到匹配的那个元素为止。
nextUntil([exp|ele][,fil]) 概述 查找当前元素之后所有的同辈元素,直到遇到匹配的那个元素为止. 如果提供的jQuery代表了一组DOM元素,.nextUntil()方法也能让 ...
- kubeadm 部署kubernetes1.11.1,dashboard1.10.0
---恢复内容开始--- 实验环境准备2台虚拟机: master节点:172.17.1.36 node节点:172.17.1.40 首先安装master节点: master 的虚拟机是全新的机器,在安 ...