У меня есть целая куча тестовых примеров Django, которые используют метод setUp для инициализации некоторых свойств, которые используются в многочисленных тестах, способ их построения и зависимости друг от друга - это логика, которую я хочу вывести из тестовых случаев иповторное использование
def setUp(self):
self.property_1 = ##some logic
...
Я хотел переписать их как некоторую вспомогательную оболочку, которую можно внедрить в класс с помощью простого наследования или декоратора, например,
@with_property_1(x=1, y=2)
def setUp(self):
...
def with_property_1(**model_kwargs):
def wrapper(f):
def wrapped(*args, **kwargs):
self = args[0]
self.property_1 = ## logic
f(*args, **kwargs)
return wrapped
return wrapper
, но проблема в том, что PyCharm нене признайте, что эти свойства экземпляра существуют, потому что ничто внутри самого класса TestCase никогда не устанавливает их.Есть ли еще какой-нибудь способ, которым я могу добиться этого, или способ заставить PyCharm признать эти свойства законными, учитывая наличие декоратора?