又一个配置文件出现,这个文件名称仍然固定,内部主要是包含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可以应用于通过在运行时输入不同的参数来获得不同的配置文件,执行测试用例。
自我记录,有错误欢迎指正~
网友评论