Форум сайта python.su
Здрасте :)
В заголовке собственно всё и написано. Еще могу добавить, знаю что копать надо в сторону __getattribute__. Но мне нужна такая хитрость, надо что-бы в catch_all метод передавалось имя запрошенного метода, а так-же все его параметры.
Требуется для создания Mock объекта, записывающего вызовы методов для использования в юниттестировании.
Заранее спасибо!!
Отредактировано (Янв. 17, 2008 15:34:22)
Офлайн
как вариант
class Foo( object ): def __getattribute__( self, name ): self.cur_name = name return self def __call__( self, *args, **kwargs ): print super( Foo, self ).__getattribute__( "cur_name" ), args, kwargs f = Foo() f.bar( 1, 3, a = 334, b= "abcd" )
Офлайн
Спасибо, будем копать :)
Офлайн
А можно рассказать как это при помощи дескрипторов реализовать?
Офлайн