当前位置: 代码迷 >> 综合 >> python mock(模拟)接口
  详细解决方案

python mock(模拟)接口

热度:58   发布时间:2023-12-13 12:28:53.0

什么是mock接口?
Mock通常是指,在测试一个对象时,我们构造一些假的对象来模拟与其交互。而这些Mock对象的行为是我们事先设定且符合预期。通过这些Mock对象来测试对象在正常逻辑,异常逻辑或压力情况下工作是否正常。
引入Mock最大的优势在于:Mock的行为固定,它确保当你访问该Mock的某个方法时总是能够获得一个没有任何逻辑的直接就返回的预期结果。Mock接口就是用一些合理的手段构造对象去模拟真实接口,达到我们需要的测试效果。

开发mock接口的目的:
1、辅助测试,暂时代替第三方接口 或者 用来代替没有开发好的接口
2、查看数据,为了避免其它人连接数据库查看其它数据,直接提供接口查询想要的数据


mock接口的方法:
1.使用fiddler、charles工具;
2.使用moco jar包;
3.写代码,python可以使用flask框架(轻量级的web开发框架)

python之使用flask框架

import flask,json#1.创建flask对象,使用该对象进行配置与运行
#name是python中的特殊变量,如果文件作为主程序执行,
# __name__变量的值就是__main__,如果是被其他模块引入,那么__name__的值就是模块名称server = flask.Flask(__name__) #把app.python当作一个server#2.装饰器,将get_all_user()函数变为一个接口127.0.0.1:9000、get_user
@server.route('/get_user',methods=['get','post'])
def get_all_user():all_user = [{'id':1,'sex':1,'real_name':'小花'},{'id': 2, 'sex': 0, 'real_name': '小明'},{'id': 1, 'sex': 1, 'real_name': '小黑'},]res = json.dumps(all_user,ensure_ascii=False)#ensure_ascii为False时,可以包含non-ASCII字符return res#3启动服务,debug=True表示修改代码后自动重启;
# 启动服务后接口才能访问,端口号为9000,默认ip地址为127.0.0.1
server.run(port=9000, debug=True)