什么是mock server
实现mock功能的一个服务
mock server的作用
现今的业务系统很少有独立存在的,他们或多或少需要使用兄弟团队或者其他公司提供的服务这给我们的联调和测试造成了麻烦
对于这种情况,我们常见的解决方法是搭建一个临时的server,模拟那些服务,因为flask的第三方开源组件丰富
初始Flask
封装功能不及Django完善,性能不及Tomado,但是Flask可拓展性强,因为flask的第三方开源组件丰富
WSGI介绍:
Django使用wsgiref模块
配置文件
app=Flask(name,template_folder=‘templates’,static_url_path=‘/static/’,static_path=‘/zz’)
- 模板路径:template_folder=‘templates’
- 静态文件路径:static_url_path=‘/static/’
- 静态文件引入别名:static_path=‘/zz’
- 设置调试环境:app.debug=True(代码修改自动更新)
- j设置json编码格式如果为False就不使用ascii编码:app.config[‘JSON_AS_ASCII’]=False
- 设置响应头信息:Content-Type app.config[‘JSONIFY_MIMETYPE’]=“application/json;charset=utf-8”
(注意;charset=utf-8)
路由系统
- 动态传参
from flask import Flask
app = Flask(__name__)
# 设置一个动态参数
@app.route('/<name>')
def second_flask(name):
print(name)
return 'Hello World'
【基于flask框架实现Mock Server】
- 根据接口文档,设计Mock Server
- mock server设计-登录
1) 参数为空
2)用户名密码正确
3)用户名密码错误
mockServer它不是一个真实的后端系统,你需要让他满足你的接口的模拟测试需求即可
post方法的基本使用
# coding:utf-8
from flask import Flask, request
# 创建Flask对象
app = Flask(__name__)
# 视图函数
@app.route('/login', methods=['GET', 'POST'])
def request_flask():
"""post请求参数提示"""
# 获取请求数据,返回数据类型为bytes: b'{"username": "zz", "password": "123456"}' <class 'bytes'>
c = request.get_data()
print(c, type(c))
# 获取请求的数据类型,返回为json: {'username': 'zz', 'password': '123456'} <class 'dict'>
d = request.get_json()
print(d, type(d))
# 获取请求的数据类型,返回为bytes: b'{"username": "zz", "password": "123456"}' <class 'bytes'>
e = request.data
print(e, type(e))
# 获取json: {'username': 'zz', 'password': '123456'} <class 'dict'>
f = request.json
print(f, type(f))
f1 = request.json['username']
print(f1)
return 'Hello world'
if __name__ == '