码迷,mamicode.com
首页 > 编程语言 > 详细

mock搭建——python——搭建一个简单的mock服务

时间:2020-05-30 15:46:25      阅读:122      评论:0      收藏:0      [点我收藏+]

标签:调用   定义   ascii   home   iat   装饰器   ret   man   dao   

参考:https://blog.csdn.net/xu547823501/article/details/86076188

 

1、无聊的背景、起源:


如今的业务系统越来越复杂庞大,各个功能直接的调用也是多如牛毛,但如果在联调的时候,恰好被调的接口正在开发,怎么办?

傻傻的等么,不存在的!这时会搭建一些server来进行mock。使得被开发功能的调试和测试功能能够正常进行下去。这就是mock server的出现的原因。

网上找了张图片,可以很好的解释mock server的作用:

技术图片

 

 

2、搭建mock server


2.1、安装flask
         pip    install     flask(本文只需flask)

2.2、代码实现,新建my_mock_server.py,填入下列代码

from flask import abort, jsonify, Flask, request, Response

app = Flask(__name__)
# 增加配置,支持中文显示
app.config[JSON_AS_ASCII] = False

tasks = {
    "code": 0,
    "msg": "OK",
    "data": {
        "waybillNumber": "1526351",
        "serviceMode": "10",
        "waybillStatus": "10",
        "deliveryAbbreviationAddress": "深圳",
        "pickupAbbreviationAddress": "深圳"
    },
    "traceId": "dp1r"
}

@app.route(/task, methods=[GET,POST])
def get_task():
    return jsonify(tasks)


if __name__ == __main__:
    app.run(host = 0.0.0.0,port = 6868,debug = True)

 

一言以蔽之:利用flask的api服务实现mock server功能

简要说明:

(1)、tasks字典,存储你的response,而这个tasks是通过下面的函数get_task实现的。

(2)、get_task函数前面增加了装饰器,是定义了访问路由,即访问ip:端口/task,即可访问。

(3)、jsonify方法将字典转换为json返回给前端。

(4)、类似的,可以定义各种task和访问路由,以实现不同的mock功能

 

 

 

 

 

 

2.3、运行mock_server.py
        python my_mock_server.py

 

 

 

 

 

 

网页打开:http://127.0.0.1:6868/task

技术图片

 

 

 

 

postman访问:get/post

可以看到,因为没有定义参数,所以无论传不传参,接口照常访问

技术图片

 

 

 

 

 

 

=========================================================================================================

至此,极简mock server就搭建完毕。

后话,功能单一,适用场景有限。如果想实现更多共,可以网上找找资料,此为简单入门,应急用。

另外,python搭建的mock server性能有限,如需高性能mock server,推荐java版mock。
只需一个jar包,一个json配置文件,即可
Linux下启动服务:nohup java -jar moco-runner-0.11.0-standalone.jar http -p 5858 -c conf.json > /home/mock_runner/mock.log &jar包可在此下载:http://note.youdao.com/noteshare?id=4094b776f4749ede8665b4e7da38df5f&sub=0DD8BF1BB43247D182F2FEC3FBBB24D6
json配置文件参考:

[

{

“response” :

{

“text” : “Hello, Moco”

}

}

]
===========================================================================================================

mock搭建——python——搭建一个简单的mock服务

标签:调用   定义   ascii   home   iat   装饰器   ret   man   dao   

原文地址:https://www.cnblogs.com/xiaobaibailongma/p/12992802.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!