gpt4 book ai didi

python - 如何从 call_args_list 获取传递给各种调用的参数?

转载 作者:行者123 更新时间:2023-11-28 20:04:32 24 4
gpt4 key购买 nike

我正在尝试使用 call_args_list 获取多次调用时传递给特定函数的参数。我正在使用这个:

call_args_list = mock.add_row.call_args_list

然后我得到一个如下所示的列表:[call('A', []), call('B', []), call('C', ['err'])]

如果我只想检查第二个调用在第二个参数中没有错误而第三个参数有错误,我需要以某种方式访问​​调用中的项目。有谁知道如何剥离这些调用对象以将项目放入其中?

最佳答案

import unittest

import mock


class TestCase(unittest.TestCase):
def test_my_func(self):
m = mock.MagicMock()
m.add_row('A', [])
m.add_row('B', [])
m.add_row('C', ['err'])

calls = m.add_row.call_args_list

_first_arg, second_arg = calls[1][0]
self.assertNotEqual(second_arg, ['err'])

_first_arg, second_arg = calls[2][0]
self.assertEqual(second_arg, ['err'])


if __name__ == '__main__':
unittest.main()

关于python - 如何从 call_args_list 获取传递给各种调用的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48936730/

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