Python之mock service

我们在与第三方进行联调的时候,经常找不到人,如果一直等待第三方响应,那将是很难受的!所以还不如自己写,想怎么造数据就怎么造……

下面简单介绍一下如何使用Python编写挡板接口程序mock service。

话不多说,直接上代码。里面注释也写的很清楚了,包括get和post请求时,如何获取请求的参数,以及如何转换响应的结果等等,拿来改改即可使用!

运行后,默认端口是5000

# 导入对应的包
import flask
from flask import request
import json
'''
flask:一个web框架,通过flask提供的装饰器@server.route()将普通函数转为服务
'''

# 创建一个服务。 将当前文件注册为服务
server = flask.Flask(__name__)

# 在route()方法中定义服务路径、请求方法
@server.route('/login_get', methods=['get'])
def login_get():
    # get请求时,获取参数的方法
    username = request.values.get('u') # 获取参数的值
    password = request.values.get('p')
    if username and password:
        if username == 'zzz' and password == '1234':
            result = {'code': 200, 'message': '请求成功!'} # 类型为字典dict

            # 将字典转化为json格式。注意是json.dumps,不是json.dump
            return json.dumps(result, ensure_ascii=False)
        else:
            result = {'code': 400, 'message': '请求失败!'}
            return json.dumps(result, ensure_ascii=False)
    else:
        return '参数不能为空!'

@server.route('/login_post', methods=['post'])
def login_post():
    # post请求时,获取参数的方法
    username = flask.request.json.get('u') # 获取参数的值
    password =flask.request.json.get('p')
    # 多层级json时,获取参数的方法
    key = flask.request.json.get('accesskey1').get('accesskey3').get('accesskey4')
    if username and password:
        if username == 'zzz' and password == '1234':
            result = {'code': 200, 'message': '请求成功!'}
            return json.dumps(result, ensure_ascii=False)
        else:
            result = {'code': 400, 'message': '请求失败!'}
            return json.dumps(result, ensure_ascii=False)
    else:
        return '参数不能为空!'


if __name__ == '__main__':
    server.run() # 运行服务

我们写完挡板程序后,只需将第三方接口替换为自己服务的接口即可。如果需要将自己的服务发布到公网,可以下个内网穿透工具,像natapp,简单配置即可

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Pythonmock是一个第三方库,可以用来模拟函数的返回值或行为。在使用mock之前,需要先进行安装,可以通过pip install mock命令进行安装。使用mock可以创建一个Mock对象,来模拟函数的返回值。例如,可以使用mock.Mock(return_value=100)来创建一个返回值为100的Mock对象,然后当调用该对象时,会返回指定的return_value值。另外,还可以根据不同的传参返回不同的值,可以使用mock.Mock(side_effect=test02),其中test02是一个函数,根据传入的参数返回不同的值。总之,mockPython的单元测试中非常有用,可以用来模拟函数的行为,方便进行测试。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [【Python版】手把手带你如何进行Mock测试](https://blog.csdn.net/caixiangting/article/details/131331188)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Python-mock](https://blog.csdn.net/a1023266384/article/details/127526679)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值