Использование pytest.fixture на setup_method
Можно ли использовать pytest.fixture для setup_method, чтобы некоторые операции всегда заканчивались между каждым тестовым сценарием? Я попытался использовать приспособление, как следует, и структура выглядит хорошо. Я могу выполнить каждый тестовый сценарий до завершения funcA. Однако я не хочу включать @pytest.mark.usefixtures('funcA')
перед каждым tesecase вместо этого я хочу больше в setup_method. Является ли это возможным
class TestSuite(TestBase):
@classmethod
def setup_class(cls):
super(TestSuite, cls).setup_class()
'do something for steup class'
@classmethod
def teardown_class(cls):
super(TestSuite, cls).teardown_class()
'do something for teardown class'
def setup_method(self):
'do log in'
'do a,b c for setup_method'
@pytest.fixture(scope="function")
def funcA(self):
print('do function A')
@pytest.mark.usefixtures('funcA')
def test_caseA(self):
'check a'
@pytest.mark.usefixtures('funcA')
def test_caseB(self):
'check b'
@pytest.mark.usefixtures('funcA')
def test_caseC(self):
'check c'
1 ответ
Решение
Вы можете просто передать прибор в качестве аргумента теста:
def test_caseA(self, funcA):
'check a'
def test_caseB(self, funcA):
'check b'
def test_caseC(self, funcA):
'check c'