检查是否使用数组的所有元素调用模拟函数

时间:2016-01-08 07:58:46

标签: python unit-testing mocking

我有一个预期参数列表,我需要检查是否使用列表的所有元素调用给定的函数。我想出了这个。我知道循环是更好的方法。

Text

有没有办法可以自己传递列表?

1 个答案:

答案 0 :(得分:0)

你可以这样做:

expected_list = [(1,2,3),(4,5,6)]
real_writer = mock.Mock()
real_writer.write.assert_has_calls((mock.call(exp) for exp in expected_list), any_order=True)

如果您确实希望调用符合列表中的顺序,则可以省略any_order参数。