2017-01-27 17 views
0

У меня эта функцияЕсть ли какое-либо значение, которое я могу использовать для метода assert_called_once_with, который будет соответствовать чему-либо?

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, чтобы утверждение прошло? Или я хочу e вручную получить список вызовов и проверить каждый из параметров, с которыми была вызвана функция?

+1

Возможный дубликат [Как проверить на ложных вызовов с групповыми символами] (http://stackoverflow.com/questions/22184642/how -в-проверить-для-макеты звонков-с групповыми символами) –

ответ

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)