我想要一门只是完整的门垫的课。如果我使用任何args或任何其他属性调用 any 方法,则该方法什么也不做。
也就是说,给定一个名为Gobble
的类:
gbl=Gobble()
gbl.foo.bar().asdf
应该没问题。
答案 0 :(得分:3)
一个简单的解决方案是
class Gobble(object):
def __getattr__(self, item):
return self
def __call__(self, *args, **kwargs):
return self
__getattr__
用于属性访问,__call__
用于方法调用
答案 1 :(得分:3)
您可以使用unittest.mock.MagicMock
:
from unittest.mock import MagicMock
gbl=MagicMock()
gbl.foo.bar().asdf[1]