Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/276.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 unittest.mock.call-是否有统一的方法来验证调用参数?_Python_Python 3.x - Fatal编程技术网

Python unittest.mock.call-是否有统一的方法来验证调用参数?

Python unittest.mock.call-是否有统一的方法来验证调用参数?,python,python-3.x,Python,Python 3.x,我有操作foo(p1,p2,p3)。我模拟它,想验证它是否被正确调用。所以我有一个unittest.mock.callpseudotuple的列表来检查。但相同的函数调用可能以各种形式出现: foo(1,2,3) foo(1,2,p3=3) foo(1,p3=3,p2=2) 我想很容易地检查每个参数是否有正确的值。我不想解释call对象中存储的args和kwargs的所有可能变体。最好的方法是在一个dict中获取所有参数(如kwargs),不管它们是否通过关键字传递。可能吗?有什么方法可以使这

我有操作
foo(p1,p2,p3)
。我模拟它,想验证它是否被正确调用。所以我有一个
unittest.mock.call
pseudotuple的列表来检查。但相同的函数调用可能以各种形式出现:

foo(1,2,3)
foo(1,2,p3=3)
foo(1,p3=3,p2=2)

我想很容易地检查每个参数是否有正确的值。我不想解释call对象中存储的
args
kwargs
的所有可能变体。最好的方法是在一个dict中获取所有参数(如
kwargs
),不管它们是否通过关键字传递。可能吗?有什么方法可以使这样的任务更简单吗?

听起来你可能在重新设计你也可以检查这意味着它需要参数。Anthony:assert\u has\u calls不做诡计调用(1,2)=call(1,p2=2)听起来像是你在重新发明。你也可以检查一下,这意味着它需要参数。安东尼:assert\u has\u calls不会做诡计调用(1,2)=呼叫(1,p2=2)