Вы можете использовать функцию, которая принимает целевые объекты для исправления в качестве параметров и возвращает функцию декоратора, которая перебирает целевые объекты для использования mock.patch
для исправления объекта для оформленной функции:
def grouppatch(*targets):
def decorator(func):
for target in targets:
func = mock.patch(target)(func)
return func
return decorator
так что:
@grouppatch('builtins.bool', 'builtins.int')
def my_test(mock_bool, mock_int):
mock_bool.return_value = True
mock_int.return_value = 100
print(bool(False), int(10))
my_test()
выходы:
True 100