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)