#python #python-3.x #pytest
Вопрос:
Мне нужно обновлять одну из переменных для каждого запуска (я использую pytest-repeat, чтобы повторить тест n раз). Однако переменная не обновляется.
Вот мой код:
@pytest.mark.repeat(3)
class TestSample(BaseTest):
ITER = 1
def setup(self):
super().setup()
def test_steps(self):
print(self.ITER)
def teardown(self):
self.ITER = 1
print(self.ITER)
Я ожидаю ITER
, что значение будет увеличиваться при каждом повторении теста (здесь тест повторяется три раза), поэтому значение ITER
должно быть обновлено. Но он отображается как 2 для всех запусков. Есть ли другой способ, которым я могу увеличить значение ITER.
Комментарии:
1. Откуда это
BaseTest
берется?2. Вы обновляете переменную экземпляра вместо переменной класса. Тебе нужно
self.__class__.ITER = 1
.3. @MrBeanBremen — спасибо, это полезно