我正在寫一個小嘲笑類來做一些測試。解決嵌套屬性中的屬性錯誤
但是這個類需要支持具有嵌套屬性的想法。
這個例子應該提供一些見解的問題:
class Foo(object):
def __init__(self):
self.x = True
從上面的類,我們可以有:
我知道我可以添加屬性回落至__getattr__
,以避免AttributeError,但是如果我需要類似這樣的東西來生效:
f = Foo()
f.x
f.x.y
f.x.y.z()
我知道如果對象被稱爲f.x.y.z()
要返回什麼,但我只需要找到一種方法來得到z()
這是有道理的。
就在當場Alex。我的錯誤是認爲,當我所需要的是傳遞Mock對象的另一個實例以匹配該屬性時,「構建」Mock對象以轉到x.y.z()是可以的。 我會使用一個模擬框架,但認爲對於我測試它的2個特定調用來說,實現一個單獨的模擬類會更清潔。 – alfredodeza 2010-07-31 11:19:12