Python 如何模拟http请求中的函数?

Python 如何模拟http请求中的函数?,python,mocking,pytest,Python,Mocking,Pytest,我正在使用pytest,我有一个类似以下的测试: def测试功能1(客户端): rsp=client.get(url) 在我的flask服务器中的get url中,有一个函数fun2() #restful api def get(): res1=fun2() #用res1做事情 返回res2 我想在我的pytesttest\u fun1中,用patch.object()和mock()模拟这个fun2()不起作用,有什么建议吗?谢谢 请张贴测试代码以及。另外,您能否显示fun2的定义位置?它是

我正在使用pytest,我有一个类似以下的测试:

def测试功能1(客户端):
rsp=client.get(url)
在我的flask服务器中的get url中,有一个函数
fun2()

#restful api
def get():
res1=fun2()
#用res1做事情
返回res2

我想在我的pytest
test\u fun1
中,用patch.object()和
mock()模拟这个
fun2()
不起作用,有什么建议吗?谢谢

请张贴测试代码以及。另外,您能否显示
fun2
的定义位置?它是否与您的
def get()
导入或定义在同一文件中?flask的测试客户机针对实际服务器运行测试。因此,mock要么不被读取,要么在事实发生后被加载。这里真正应该做的是首先单独测试
fun2
,然后flask的测试客户机应该仅用于测试web服务器(无模拟)。最后,出于教育目的,您应该知道您可以模拟
fun2
,但它也需要模拟额外的东西。