美文网首页
pytest-conftest.py

pytest-conftest.py

作者: Rainbow想喝奶茶 | 来源:发表于2021-08-16 17:12 被阅读0次

又一个配置文件出现,这个文件名称仍然固定,内部主要是包含fixtrue相关的代码函数以及其它配置函数,可以作用于文件所在的目录以及子目录。
conftest.py中的fixture函数,测试用例文件无需import conftest.py即可直接引用,这里主要是想介绍一个pytest_addoption函数。

pytest_addoption

这个回调函数可以接受命令行传参,将参数进行存储,方便程序后续应用该参数运行。在conftest.py文件中增加如下语句:

def pytest_addoption(parser):
    parser.addoption(
        "--value",
        action="store",
        dest="environment",
        default='test',
        help="It's too hard for me"
    )

目前学习到的参数:

name:名称,在命令行中接受该选项后面的值,即代码中的 --value;
action:对命令行中名称后面的值执行相关操作,store代表存储;
dest:存储值的名称,后续取值需要用到;
default:当命令行不传入参数时,默认值;
help:注明相关信息。
运行时,在命令行窗口输入pytest -s --value Bang test-statistics.py即可将Bang存储在environment中。
而对于该值的获取,在conftest.py文件中增加如下语句:

@pytest.fixture(scope="session")
def env(request):
    env=request.config.getoption("environment")
    return env

这样,在测试函数中引用env这个固件函数,即可获得environment中存储的值(命令行中参数的值)。
pytest_addoption可以应用于通过在运行时输入不同的参数来获得不同的配置文件,执行测试用例。
自我记录,有错误欢迎指正~

相关文章

  • pytest-conftest.py

    又一个配置文件出现,这个文件名称仍然固定,内部主要是包含fixtrue相关的代码函数以及其它配置函数,可以作用于文...

网友评论

      本文标题:pytest-conftest.py

      本文链接:https://www.haomeiwen.com/subject/snrjbltx.html