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服务,配置文件内容为

 
20181009211052.png

这时候请求http://localhost:12306/时,就会返回

 
20181009211352.png

其中,text表示返回的内容为 Hello, this is Moco
也可以自定义请求的HTTP版本、请求头、cookie、请求方法、地址、请求参数、内容等,也可以自定义响应的状态码、响应内容等。使用该mock接口时只需将调用的接口地址改成这个地址即可。

使用easy-mock
easy-mock是开源的项目,有可视化的界面,同时可以较好地对mock数据进行管理。地址:https://www.easy-mock.com/ 注册账号后即可使用。

 
20181009211452.png

1.创建项目

 
20181009211503.png

2.创建接口

 
20181009211511.png

3.编辑响应内容、请求方法和请求地址

 
20181009211519.png

4.调用该接口,响应结果即为设置的403,系统异常

 
20181009211537.png

还有其他可以实现mock的工具,如fiddler。

作者:circle_hyy
链接:https://www.jianshu.com/p/de8a3dc04f82
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

mock的使用的更多相关文章

  1. 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 ...

  2. Google C++单元测试框架GoogleTest---Google Mock简介--概念及基础语法

    就在昨天终于做了gtest的分享,我的预研工作终于结束了,感觉离我辞职的日子不远了,毕竟是专注java二百年啊,要告别实习啦.. 这篇是GoogleMock的简介文档,会在后边附带一个自己的例子. 一 ...

  3. Pramp - mock interview experience

    Pramp - mock interview experience   February 23, 2016 Read the article today from hackerRank blog on ...

  4. Spring Mock

    今天看别人的测试代码,发现有  MockMvc.MockHttpServletRequest.MockHttpServletResponse ,不知道是干啥的,百度下下才知道  Mock这个东东. 下 ...

  5. Python mock

    在测试过程中,为了更好地展开单元测试,mock一些数据跟对象在所难免,下面讲一下python的mock的简单用法. 关于python mock,网上有很多资料,这里不会讲的特别深,但一定会是实用为主, ...

  6. ABP中单元测试的技巧:Mock和数据驱动

    (此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:虽然ABP为大家提供了测试的脚手架了,不过有些小技巧还是需要自己探索的. ASP.NE ...

  7. [转] 前后端分离开发模式的 mock 平台预研

    引入 mock(模拟): 是在项目测试中,对项目外部或不容易获取的对象/接口,用一个虚拟的对象/接口来模拟,以便测试. 背景 前后端分离 前后端仅仅通过异步接口(AJAX/JSONP)来编程 前后端都 ...

  8. 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 ...

  9. Nova PhoneGap框架 第六章 使用Mock

    在我们的框架中引入了一个很重要的设计,那就是使用Mock. 这里的mock是指cordova.mock.js文件,它模拟了PhoneGap(Cordova)的API,从而可以在浏览器中运行测试我们的程 ...

  10. mock.js

    mock.js http://mockjs.com/ https://github.com/nuysoft/Mock/wiki 为了完成angularjs的karma测试,看到这个好东东,这货能拦截a ...

随机推荐

  1. VSCODE IDE开发工具的快捷键一览

    按 Press 功能 Function Ctrl + Shift + P,F1 显示命令面板 Show Command Palette Ctrl + P 快速打开 Quick Open Ctrl + ...

  2. JavaScript捕获和冒泡探讨

    <div id="div"> <input type="button" value="banana" id="b ...

  3. java——maven依赖版本冲突

    博客:maven依赖jar包时版本冲突的解决

  4. Matlab---三维视图的自动旋转

    Matlab---三维视图的自动旋转 这里给出一种格式说明: % figure % plot3(...); % xlabel('X轴'); % ylabel('Y轴'); % zlabel('Z轴') ...

  5. 海康威视面试-java应用开发

    一面:技术面 (1)对着简历问本科学过的java相关课程,都学了哪些东西.很懵逼,很早之前学的东西,我都记不清楚了 (2)网络编程相关知识,我也不太懂,就回答了网络协议这块的知识 (3)线程相关,线程 ...

  6. JavaScript教程——对象的继承

    面向对象编程很重要的一个方面,就是对象的继承.A 对象通过继承 B 对象,就能直接拥有 B 对象的所有属性和方法.这对于代码的复用是非常有用的. 大部分面向对象的编程语言,都是通过“类”(class) ...

  7. django设置debug设为False,前端样式出现错乱或静态文件404问题。

    部署到生产环境中遇到的坑大部分都是引用静态文件带来的, setting设置里面debug设为False, 需要设置ALLOWED_HOSTS=["服务器ip"],不然运行不了的. ...

  8. SQL Server查询表结构语句

    --1:获取当前数据库中的所有用户表   www.2cto.com   select Name from sysobjects where xtype='u' and status>=0  -- ...

  9. 给程序添加git commit信息

    遇到了一个客户程序出问题,自己这边始终无法重现的bug.为了检查问题,查到了一个添加git的commit信息到程序中的方法,感觉对程序版本控制十分好用. 一,项目中添加如下文件 文件结构: GitVe ...

  10. RDLC 传参 报表出现错误 (未解决)

    经过测试  可以用的 带传参的  RDLC  在vs2019上 能正常运行 但在vs2019上剪切后,保存, 运行就会报An error 错误, ctr+z 全部 撤销后 保存     一样会报  这 ...