我有这个功能
def my_function(param1, param2):
...
my_other_function(param1, param2, <something else>)
...
我想测试使用my_other_function
和param1
调用param2
,而我并不关心其余的
我写了一个像这样的测试
@mock.patch('mymodule.my_other_function')
def test_my_other_function_is_called(my_other_function_mock):
my_function('foo', 'bar')
my_other_function_mock.assert_called_once_with('foo', 'bar', ?????)
我可以传递给assert_called_once_with
方法(或来自MagicMock
的任何&#34;姐妹&#34;方法)的任何值,以便断言通过吗?或者我必须手动获取调用列表,并检查调用该函数的每个参数?
答案 0 :(得分:0)
在文档https://docs.python.org/3/library/unittest.mock.html#any中,您可以使用unittest.mock.ANY
:
@mock.patch('mymodule.my_other_function')
def test_my_other_function_is_called(my_other_function_mock):
my_function('foo', 'bar')
my_other_function_mock.assert_called_once_with('foo', 'bar', ANY)