Повторите тест на AssertionError

1

Существует модуль pytest-repeat, который можно использовать для повторения выполнения pytest N раз (весь набор тестов).

Тем не менее, я хочу, после AssertionError, повторно запустить этот конкретный тест снова, вместо того, чтобы запускать весь костюм. Итак, как я могу захватить AssertionError и программно вызывать одну и ту же тестовую функцию?

Теги:
python-3.x
pytest

1 ответ

1
Лучший ответ

flaky пакет обеспечивает @flaky декоратора. Из документации:

@flaky(max_runs=3, min_passes=2)
def test_something_that_usually_passes(self):
    """This test must pass twice, and it can be run up to three times."""
    value_to_double = 21
    result = get_result_from_flaky_doubler(value_to_double)
    self.assertEqual(result, value_to_double * 2, 'Result doubled incorrectly.')

Ещё вопросы

Сообщество Overcoder
Наверх
Меню