Ich habe einen Funktionsaufruf, der ein Objekt zurückgibt:Mocking verschachtelte Objekte mit Mock
r = Foo(x,y)
wo r
einen umfangreichen Satz von verschachtelten Eigenschaften hat. Zum Beispiel kann ich auf r.prop_a.prop_b.prop_c
zugreifen. Ich möchte Foo
verspotten, so dass eine spezifische Blatt Eigenschaft r
geändert wird, das heißt, dass r.prop_a.prop_b.prop_c
kehrt ein Wert unter meiner Kontrolle:
>> 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'
ich nicht über Zwischen Eigenschaften egal viel.
Gibt es eine elegante Möglichkeit, geschachtelte Eigenschaften mit mock zu verhöhnen?
Es ist sehr gut, dass bestimmte Dinge gelassen werden so wie sie sind. Beendet mit dem echten Ding statt zu spotten. – Oleksiy