本文系《pytest源码剖析》系列内容
正在连载,欢迎关注
6. 内置插件 helpconfig
插件路径:_pytest.helpconfig
实现的 hook
hooktryfirsttrylastoptionalhookhookwrapperwrapperpytest_addoptionFalseFalseFalseFalseFalsepytest_cmdline_mainFalseFalseFalseFalseFalsepytest_cmdline_parseFalseTrueFalseFalseFalsepytest_report_headerFalseFalseFalseFalseFalse
调用的 hook
无
插件功能
创建了命令行参数 -V,不执行用例,而是显示版本信息 创建了命令行参数 -h,不执行用例,而是显示所有的参数说明 创建了命令行参数 -p,申明要加载或禁用的插件 创建了命令行参数 --traceconfig,显示插件加载情况 创建了命令行参数 --debug,保存 hook 执行过程到日志文件 创建了命令行参数 -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
如果传递了 -h 或 -V 参数, pytest 将不会再执行用例 如果传递了 --debug 参数,生成的日志文件内容如下
简评
从【调用 hook 列表为空】这一点可以看出来,就算没有这个插件,也丝毫不影响 pytest 的运行。
但是有了它,才能够更好的了解和使用 pytest。
...
helpconfig 插件主要是显示信息的输出,让大家更好的了解 pytest。
但是,它不仅可以显示配置的说明,还可以修改配置的内容
我猜这也是为什么名字不是 helpinfo,而是 helpconfig 的原因吧
...
刚接触 pytest 的时候,你可能只会使用 -v 参数,来验证是否安装成功
新手阶段,可能经常使用 -h 参考查看配置项的名称和说明
进阶水平,可能需要 -p 参数和 -o 参数 调整框架配置
终于有一天,你和我一样,想要知道 pytest 在运行的过程中究竟发生了些什么,
使用 --debug 参数,helpconifg 插件会告诉你一切
首发于公众号:测试开发研习社
原创不易,喜欢请星标+点赞+在看
参考链接
大家都在找:
pytest:pytest怎么读
前端:前端是做什么的
linux:linux一键换源脚本
github:github镜像站
单元测试:单元测试名词解释
selenium:selenium+python自动化测试
集成测试:集成测试所使用的主要测试方法是
发表评论