pytest文档76 - 命令行中神奇的-o参数使用

Posted 上海-悠悠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pytest文档76 - 命令行中神奇的-o参数使用相关的知识,希望对你有一定的参考价值。

前言

pytest 命令行中 -o 参数的作用是覆盖pytest.ini配置文件中的参数,那就意味着在ini中的参数,也可以在命令行中使用了。

-o 参数

pytest -h 可以查看到-o参数的使用

-o OVERRIDE_INI, --override-ini=OVERRIDE_INI
   override ini option with "option=value" style, e.g. `-o xfail_strict=True -o cache_dir=cache`.

其作用是覆盖ini配置中的"option=value",如:-o xfail_strict=True -o cache_dir=cache

使用示例

之前有小伙伴问到生成JUnit报告,在 pytest.ini 配置文件添加 junit_suite_name 参数可以实现

[pytest]

junit_suite_name=yoyo

但是小伙伴想在命令行中实现,却没有这个参数,当时给的解决办法是在conftest.py中通过钩子函数把命令行参数注册到pytest.ini中

# conftest.py
def pytest_addoption(parser):
    parser.addoption(
        "--suite-name",
        action="store",
        default="yoyo",
        help="'Default yoyo"
    )


def pytest_configure(config):
    name = config.getoption("--suite-name")
    if name:
        config._inicache['junit_suite_name']=name

后来翻阅各种文档发现命令行带上-o参数就能实现,原来pytest早就设计好了

> pytest demo --junit-xml=./report.xml -o junit_suite_name

以上是关于pytest文档76 - 命令行中神奇的-o参数使用的主要内容,如果未能解决你的问题,请参考以下文章

38-pytest-命令行中-o参数使用

pytest文档10-命令行传参

pytest文档49-命令行参数--tb的使用

单元测试界的高富帅,Pytest框架,手把手教学,从入门到精通

24-pytest-allure命令行参数

pytest文档52-命令行参数--setup-show查看fixture的执行过程