У меня только что тесты поймали крайне странную багу - переменные из одного теста оказывались внутри класса в другом тесте. В начале теста класс честно инициализировался, никаких моков.
После пристальных раздумий я минимизировал происходящее до следующего:
class C
(
Read more... )
Comments 12
Reply
class C:
a = {}
И будет это a общим для всех экземпляров класса.
Надо:
class C:
def __init__(self, x):
self.a={}
self.a[x]=x
Соотв. все проперти, что всобачены в описании класса, следует считать константами и не изменять.
Reply
Reply
Reply
немутабельные
>Если сделать вместо a = {} a=0, а потом перезаписывать, всё будет хорошо.
потому что при перезаписывании:
instance.attr = 420
attr станет атрибутом объекта (экземпляра), а не класса
Reply
C.a[x] = x
если хотим к тому же словарю.
Reply
Reply
Reply
Reply
Reply
( ... )
Reply
Reply
Leave a comment