Python 如何在使用pytest调用的另一个方法中模拟函数
我的项目结构如下Python 如何在使用pytest调用的另一个方法中模拟函数,python,mocking,pytest,Python,Mocking,Pytest,我的项目结构如下 myapp | -contrib | - helpers.py - views | - app_view.py 在helpers.py中,我有以下方法 def方法(**kwargs)->int: #这里有一些代码 请求发送( url=f“{REMOTE_SERVER}/sc”, json=kwargs, 超时=5 ) 在app_view.py中,我有以下实现。我在线程内调用该方法,我需要使用pytest对其进行模拟,以检查它是否被调用一次并使用一
myapp
|
-contrib
|
- helpers.py
- views
|
- app_view.py
在helpers.py
中,我有以下方法
def方法(**kwargs)->int:
#这里有一些代码
请求发送(
url=f“{REMOTE_SERVER}/sc”,
json=kwargs,
超时=5
)
在app_view.py
中,我有以下实现。我在线程内调用该方法,我需要使用pytest对其进行模拟,以检查它是否被调用一次并使用一定数量的参数调用
导入myapp.contrib.helpers导入方法
班级分数(方法视图):
@准备请求
def柱(自身,**kwargs):
"""
赛后得分
"""
响应_data=dict()
#这里有些逻辑
自我筛选分数(kwargs)
返回jsonify(响应数据)
def过滤器_分数(自身,**kwargs)
线程=线程。线程(目标=方法,kwargs=事件\数据)
thread.start()
使用pytest
我试图模拟方法()
,如下所示
def测试分数(客户机、模拟机):
url=“sc/1.1/score”
补丁_方法=mocker.patch(
“myapp.contrib.helpers.method”
)
client.post(url,json=issue\u凭证\u post\u数据)
修补的_方法。断言_调用了_once()#这是否回答了您的问题?这回答了你的问题吗?
patched_method = mocker.patch(
"myapp.views.app_view.method"
)