Я использую аннотации параметризации pytest для передачи параметров в класс. Я могу использовать параметры в методах тестирования, однако я не могу понять, как использовать параметры в методе setup_class.
import pytest
params = ['A','B','C']
@pytest.mark.parametrize('n', params)
class TestFoo:
def setup_class(cls):
print ("setup class:TestFoo")
# Do some setup based on param
def test_something(self, n):
assert n != 'D'
def test_something_else(self, n):
assert n != 'D'
Я попытался добавить «n» в качестве параметра, такого как методы тестирования, например:
def setup_class(cls, n):
print ("setup class:TestFoo")
# Do some setup based on param
Что приводит к ошибке:
self = <Class 'TestFoo'>
def setup(self):
setup_class = xunitsetup(self.obj, 'setup_class')
if setup_class is not None:
setup_class = getattr(setup_class, 'im_func', setup_class)
setup_class = getattr(setup_class, '__func__', setup_class)
> setup_class(self.obj)
E TypeError: setup_class() takes exactly 2 arguments (1 given)
Есть ли другой способ использования параметра в методе setup_class?