如何在测试方法之前注入装饰器

时间:2019-07-02 12:44:38

标签: pytest decorator

我的源代码中包含众所周知的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作为尝试,然后将其作为装饰器。我该如何实现?

0 个答案:

没有答案