Есть ли какой-либо способ прочитать параметризованный arg класса в классе, изменяемом с помощью python pytest?

#python #pytest

Вопрос:

Например:

 @pytest.mark.parametrize('test_input', [1, 2, 3, 4])
class TestClass:
    var = test_input # like this
    def test_something1(self, test_input):
 

Ответ №1:

Вы можете добавить приспособление с request параметром и получить из него значения. Если вы используете scope='class' его, он запустится один раз перед всеми тестами и вставит значение в var атрибут

 @pytest.mark.parametrize('test_input', [1, 2, 3, 4])
class TestClass:

    @pytest.fixture(scope='class', autouse=True)
    def get_parameters(self, request):
        TestClass.var = request.cls.pytestmark[0].args[1]

    def test_something1(self, test_input):
        print(self.var) # [1, 2, 3, 4]