Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在使用pytest调用的另一个方法中模拟函数_Python_Mocking_Pytest - Fatal编程技术网

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"
    )