一、mock接口数据应用场景:

  1、测试接口A,A接口代码中调用其他服务的B接口,由于开发排期、测试环境不通等原因,依赖接口不可用

  2、测试异常情况,依赖接口B返回的数据格式不对、返回None、超时等,A接口的错误处理是否合理

二、 搭建mock服务 (python3.6 搭建,index.py),详细的flask使用,请另行百度。

  1、代码示例

# -*- coding: utf-8 -*-
from flask import Flask,render_template,request
import json,sys,flask
sys.path.append("..")
app = Flask(__name__)
# get方法 1
@app.route('/MockInterface/get_msg/<para>',methods=['GET'])
def get_mes(para):
if para:
return {"result":"succ"}
else:
return {"result":"fail"} # get方法 2
@app.route('/MockInterface/testget',methods=['GET'])
def testget():
para1 = flask.request.args.get('para1')
para2 = flask.request.args.get('para2')
para3 = flask.request.args.get('para3')
result = {
"para1":para1,
"para2":para2,
"para3":para3
}
return result
# 设置用户的【用户等级】
@app.route('/MockInterface/set_userinfo_level',methods=['POST'])
def set_userinfo_level():
try:
uid = str(flask.request.values.get('uid'))
        level = int(flask.request.values.get('level'))
except Exception as e:
datas = json.loads(flask.request.get_data())
uid = str(datas['uid'])
level = int(datas['level']) result = preAdmin_op().set_yh_evel(uid,level)  # 实际业务方法,可根据实际需求如何改
return(str(result))
if __name__ == '__main__':
app.run(host='0.0.0.0',port=5000,debug=True)
 

  2、启动mock服务

  注:mock部署的服务器,须与开发代码所在的服务器 网络互通。mock部署的位置信息用于以下iptable配置。

三、iptable配置 (在开发代码部署的机器上,root权限操作)

  1、查看iptables配置:iptables -t nat -L --line-number 
  2、代码在A机器上,代码里需要访问192.169.4.17:80(依赖方),测试时候依赖方的接口没有准备好,就可以mock这个接口,让代码请求依赖方时,转到自己mock的服务上(192.169.4.18:8099),也方便构造各种场景
  iptables -t nat -A OUTPUT -d 192.169.4.17 -p tcp --dport 80 -j DNAT --to 192.169.4.18:8099
  3、参数含义:-t 表名 -A 增加规则名 -d 发往目的地ip -p 协议 -d端口号 -j 跳转目标 --to 目标ip:端口号
  4、测试完后,需要删除A机器上的这条转发规则。行号可根据第一步种查出
  iptables -t nat -D OUTPUT 行号
 
 
 

Mock接口数据 = mock服务 + iptable配置的更多相关文章

  1. 使用http-server 模拟接口数据 mock data

    首先创建文件夹 mkdir mockData&&cd mockData 安装http-server npm i http-server 创建数据文件 touch index.json ...

  2. 前端模拟(mock)接口数据(koa)

    在前后端分离开发项目时,经常会有前后端进度不一致,可能前端界面开发已经完成,就等接口了,如果等接口出来再联调的话时间可能会来不及. 这个时候,前端就可以根据制定好的接口规范和接口文档来mock接口数据 ...

  3. Spring Boot(九)Swagger2自动生成接口文档和Mock模拟数据

    一.简介 在当下这个前后端分离的技术趋势下,前端工程师过度依赖后端工程师的接口和数据,给开发带来了两大问题: 问题一.后端接口查看难:要怎么调用?参数怎么传递?有几个参数?参数都代表什么含义? 问题二 ...

  4. vue mock 模拟接口数据

    日常总结 希望能帮到大家 1 mock/sever.js  //创建服务 let http=require('http') let fs=require('fs') let url=require(' ...

  5. Mock(模拟后端接口数据)配合Vuex的使用

    1.下载Mock  cnpm install Mockjs -S 2.新建一个data.js存放新生成的mock文件 编辑mock  并导出 const Mock = require('mockjs' ...

  6. 前端开发数据mock神器 -- xl_mock

    1.为什么要实现数据 mock 要理解为什么要实现数据 mock,我们可以提供几个场景来解释, 1.现在的开发很多都是前后端分离的模式,前后端的工作是不同的,当我们前端界面已经完成,但是后端的接口迟迟 ...

  7. python语言(六)mock接口开发、发邮件、写日志、新Excel操作

    一.urllib模块 urllib模块是一个标准模块,直接import urllib即可,在python3里面只有urllib模块,在python2里面有urllib模块和urllib2模块. url ...

  8. Python(七) —— mock接口开发

    mock接口开发 接口开发有很多框架,诸如 Django,flask,相比较而言,flask 是轻量级web开发框架,用来开发 mock 接口的不二之选.那你可能会问,什么叫 mock 接口呢?moc ...

  9. vue-cli实现异步请求返回mock模拟数据

    在前后端分离开发的过程中,前端开发过程中,页面的数据显示一般都是写死的静态数据,也就是没有经过接口,直接写死在代码中的,在后端给出接口后,再替换为接口数据,为了减少对接成本,mock就出现了.通过预先 ...

随机推荐

  1. idea 2018版最新激活注册方法

    1. 下载破解补丁文件,路径为:http://idea.lanyus.com/jar/JetbrainsCrack-2.7-release-str.jar 2.将补丁放在安装包的/bin路径下,如图中 ...

  2. MySQL数据库的自动备份与数据库被破坏后的恢复(3)

    [2] 当数据库被修改后的恢复方法 数据库被修改,可能存在着多方面的原因,被入侵.以及相应程序存在Bug等等,这里不作详细介绍.这里将只介绍在数据库被修改后,如果恢复到被修改前状态的方法. 具体和上面 ...

  3. hihocoder 1582 : Territorial Dispute (计算几何)(2017 北京网络赛E)

    题目链接 题意:给出n个点.用两种颜色来给每个点染色.问能否存在一种染色方式,使不同颜色的点不能被划分到一条直线的两侧. 题解:求个凸包(其实只考虑四个点就行.但因为有板子,所以感觉这样写更休闲一些. ...

  4. linux运维、架构之路-tomcat日志切割工具 logrotate

    一.Logrotate简介 1.Logrotate实际就是对日志进行切割的小工具,他通过让用户来配置规则的方式,检测和处理日志文件.配合Cron可让处理定时化:2.Logrotate预制了大量判断条件 ...

  5. 把图片画到画布上,适应PC和移动端

    画一张图片到画布上 <canvas id="myCanvas" width="1000px" height="200px" >您 ...

  6. RedisTemplate访问Redis数据结构(前言)

    Redis五种基本数据结构 redis提供键值对的形式对数据进行存储.支持五种数据类型:String(字符串),List(链表),Hash(散列),Set(无序集合),ZSet(有序集合).下面是网上 ...

  7. Layer Cake cf

    Layer Cake time limit per test 6 seconds memory limit per test 512 megabytes input standard input ou ...

  8. es之过滤器

    我们已经介绍了如何使用不同的条件查询来构建查询并搜索数据.我们还熟知了评分,它告诉我们在给定的查询中,哪些文档更重要以及查询文本如何影响排序.然而,有时我们可能要在不影响最后分数的情况下,选择索引中的 ...

  9. HDU6621 K-th Closest Distance 第 k 小绝对值(主席树(统计范围的数有多少个)+ 二分 || 权值线段树+二分)

    题意:给一个数组,每次给 l ,r, p, k,问区间 [l, r] 的数与 p 作差的绝对值的第 k 小,这个绝对值是多少 分析:首先我们先分析单次查询怎么做: 题目给出的数据与多次查询已经在提示着 ...

  10. UEFI手札

    基于Intel TianoCore衍生的EDK-II诞生的UEFI,用来取代Legacy BIOS. INF文件 Module Information File,模块描述文件.Module可以是可执行 ...