Mam wywołanie funkcji, która zwraca obiekt:szyderczy właściwości zagnieżdżonych z udawanym
r = Foo(x,y)
gdzie r
posiada bogaty zestaw właściwości zagnieżdżonych. Na przykład mogę uzyskać dostęp do r.prop_a.prop_b.prop_c
. Chciałbym drwić Foo
tak, że konkretna nieruchomość liść r
zostanie zmodyfikowany, to znaczy takie, które r.prop_a.prop_b.prop_c
zwraca wartość pod moją kontrolą:
>> 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'
Nie dbam o właściwościach pośrednich dużo.
Czy istnieje elegancki sposób na wyśmiewanie zagnieżdżonych nieruchomości za pomocą mock?
To może być bardzo dobrze, że pewne rzeczy są pozostawione tak jak oni są. Skończyło się na używaniu prawdziwej rzeczy zamiast udawać. – Oleksiy