Кажется, что настройка набора тестов (класса) для pytest унаследована от стандартного юнит-теста библиотеки python. С этой библиотекой метод называется setUpClass
и, вероятно, должен вызывать тот же метод в своем родительском классе. Однако, поскольку вы используете pytest, который, похоже, не соответствует идее наборов тестов, я не совсем уверен, что это проблема. Тем не менее, это может быть одним из источников проблем, если метод должен вызываться как-то иначе.
В вашем коде метод setup_class
, вы устанавливаете переменную m
в значение, но эта переменнаяограничено локальной областью применения метода. Только если вы ранее определили переменную в области видимости класса, или если вы явно указали на переменную в области видимости класса, вы сможете позже получить доступ к значению снова.
Например, вы можете просто переместить объявление вобласть действия класса:
class testClassForPytest:
m = aClassInstance(classInput)
def test_case_1(self):
#use of the instance m with a method of its class
В этом случае вы вообще не используете метод установки. Если вам нужны конкретные входные данные, которые недоступны при объявлении класса, вы также можете установить переменную напрямую:
@classmethod
def setup_class(cls):
cls.m = aClassInstance(classInput)