pytest的内置插件盘点6:helpconfig

本文系《pytest源码剖析》系列内容

正在连载,欢迎关注

图片

6. 内置插件 helpconfig

插件路径:_pytest.helpconfig

实现的 hook

hooktryfirsttrylastoptionalhookhookwrapperwrapper
pytest_addoptionFalseFalseFalseFalseFalse
pytest_cmdline_mainFalseFalseFalseFalseFalse
pytest_cmdline_parseFalseTrueFalseFalseFalse
pytest_report_headerFalseFalseFalseFalseFalse

调用的 hook

插件功能

  1. 创建了命令行参数 -V,不执行用例,而是显示版本信息

  2. 创建了命令行参数 -h,不执行用例,而是显示所有的参数说明

  3. 创建了命令行参数 -p,申明要加载或禁用的插件

  4. 创建了命令行参数 --traceconfig,显示插件加载情况

  5. 创建了命令行参数 --debug,保存 hook 执行过程到日志文件

  6. 创建了命令行参数 -o,通过命令行覆盖文件中的配置

代码片段

def pytest_cmdline_main(config: Config) -> Optional[Union[int, ExitCode]]:
    if config.option.version > 0:
        showversion(config)
        return 0
    elif config.option.help:
        config._do_configure()
        showhelp(config)
        config._ensure_unconfigure()
        return 0
    return None
  1. 如果传递了 -h 或 -V 参数, pytest 将不会再执行用例

  2. 如果传递了 --debug 参数,生成的日志文件内容如下

    图片

简评

从【调用 hook 列表为空】这一点可以看出来,就算没有这个插件,也丝毫不影响 pytest 的运行。

但是有了它,才能够更好的了解和使用 pytest。

...

helpconfig 插件主要是显示信息的输出,让大家更好的了解 pytest。

但是,它不仅可以显示配置的说明,还可以修改配置的内容

我猜这也是为什么名字不是 helpinfo,而是 helpconfig 的原因吧

...

刚接触 pytest 的时候,你可能只会使用 -v 参数,来验证是否安装成功

新手阶段,可能经常使用 -h 参考查看配置项的名称和说明

进阶水平,可能需要 -p 参数和 -o 参数 调整框架配置

终于有一天,你和我一样,想要知道 pytest 在运行的过程中究竟发生了些什么,

使用 --debug 参数,helpconifg 插件会告诉你一切

首发于公众号:测试开发研习社

原创不易,喜欢请星标+点赞+在看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值