Почему тест выдает не верный id?
Пытаюсь тестировать класс Contactor. Тесты проваливаются.
Создаю один экземпляр класса, вызываю метод test_get_id, должен возвращать 1, а возвращает 2.
Но при этом все тесты проходят если убрать метод test_get_characteristics.
class User(ABC):
id: int = 0
global characteristic_list
characteristic_list = []
count = 0
@classmethod
def incr(self):
self.count += 1
return self.count
def __init__(self):
self.id = self.incr()
def get_id(self):
return self.id
def add_characteristic(self, name, type, question):
characteristic_list.append(Characteristic(name, type, question))
def get_characteristics(self):
return characteristic_list
class Contactor(User):
pass
### test
class TestContractor(unittest.TestCase):
def setUp(self):
self.contactor1 = Contactor()
def test_get_id(self):
self.assertEqual(self.contactor1.get_id(), 1)
def test_get_characteristics(self):
self.contactor1.add_characteristic("Имя", "str", "Как тебя зовут?")
self.contactor1.add_characteristic("Фамилия", "str", "Какая у тебя фамилия?")
self.contactor1.add_characteristic("Возраст", "int", "Сколько тебе лет?")
self.assertEqual(len(self.contactor1.get_characteristics()), 3)
Подскажите, почему так происходит? Как мне от этого избавиться?
Такое ощущение, что конструктор вызывается по несколько раз.