Упорство после функции в классе
Я использую декоратор упорства, чтобы повторить тест, когда он терпит неудачу, и после того, как тест не пройден, программа должна выполнить фазу очистки, поэтому я использовал декоратор упорства следующим образом:
class MyTests(unittest.TestCase)
def setUp(self):
self.driver = access()
def tearDown(self):
self.driver.close()
def clear(retry_state):
retry_state.args[0].tearDown()
retry_state.args[0].setUp()
retry_state.args[0].driver.implicitly_wait(2)
clean_campaigns_when_fails(retry_state.args[0].driver)
@retry(stop=stop_after_attempt(2), wait=wait_fixed(2), after=clear)
def test_foo(self):
# code here
Функция очистки Tenacity нуждается в параметре «retry_state», который создает конфликт с «я» класса. Единственный способ, который я нашел, чтобы заставить его работать, - это использовать retry_state.args, но я не знаю, правильно ли это, даже если программа не выдает ошибку. Любые предложения о том, как правильно использовать «я» в этом случае?