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
"""
作者:上海-悠悠
python QQ交流群:730246532
联系微信/QQ: 283340479
"""

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
posted @   上海-悠悠  阅读(1265)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2018-07-22 Selenium2+python自动化75-非input文件上传(SendKeys)
2018-07-22 python笔记24-unittest单元测试之mock.patch
2018-07-22 python笔记25-mock-server之moco
点击右上角即可分享
微信分享提示