Как ввести декоратор перед тестовыми методами - PullRequest
0 голосов
/ 02 июля 2019

У меня есть хорошо известный retry function, присутствующий в моем исходном коде https://github.com/saltycrane/retry-decorator/blob/master/retry_decorator.py

И я также создал множество тестовых сценариев с несколькими методами тестирования

Я хочу ввести все тестыспособы получить декоратор @retry(tries=3) через мой conftest.py файл.

def pytest_addoption(parser):
    parser.addoption("--retry", action="store", help="number of retries per test")

ПОДХОД 1:

def pytest_generate_tests(metafunc):
    if metafunc.config.option.retries is not None:
        retries = int(metafunc.config.option.retries)
        if retries is None:
            retries = 1
        metafunction.definition.insert("tries=3","retry")

ПОДХОД 2:

def pytest_configure(config):
    # config.addinivalue_line(name="retry",line="@retry(tries=3)")  

Моя командадолжно выглядеть так ...

$ pytest --retry 3 test_tc.py

В командной строке 3 следует принимать как попытку и повторить как декоратор.Как мне этого добиться?

...