У меня есть вызов функции, который возвращает объект:
r = Foo(x,y)
где r
имеет богатый набор вложенных свойств. Например, я могу получить доступ к r.prop_a.prop_b.prop_c
. Я хотел бы издеваться над Foo
, чтобы было изменено конкретное свойство листа r
, то есть так, чтобы r.prop_a.prop_b.prop_c
возвращал значение, находящееся под моим контролем:
>> r = Foo(x,y)
>> r.prop_a.prop_b.prop_c
'fish'
>> # some mock magic patching of Foo is taking place here
>> r = Foo(x,y)
>> r.prop_a.prop_b.prop_c
'my_fish'
Я не очень забочусь о промежуточных свойствах.
Есть ли элегантный способ издеваться над вложенными свойствами с помощью mock ?