Использование 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'
Другие вопросы по тегам