gpt4 book ai didi

Python mock() 不模拟返回值

转载 作者:太空宇宙 更新时间:2023-11-04 05:49:17 24 4
gpt4 key购买 nike

<分区>

我在使用 Python mock() 时遇到了一些问题,而且我还不够熟悉,无法弄清楚它是怎么回事。

我有一个抽象的异步任务类,看起来像这样:

class AsyncTask(object):
@classmethod
def enqueue(cls):
....
task_ent = cls.createAsyncTask(body, delayed=will_delay)
....

我想为此类的特定实例修补 createAsyncTask 方法。

我写的代码是这样的:

@patch.object(CustomAsyncTaskClass, "createAsyncTask")
def test_my_test(self, mock_create_task):
....
mock_create_task.return_value = "12"
fn() # calls CustomAsyncTaskClass.enqueue(...)
....

当我在队列中打印出 task_ent 时,我得到 <MagicMock name='createAsyncTask()' id='140578431952144'>

当我打印出 cls.createAsyncTask在队列中,我得到 <MagicMock name='createAsyncTask' id='140578609336400'>

我做错了什么?为什么 createAsyncTask 不返回 12?

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com